On Fri, Aug 19, 2016 at 01:12:57PM -0500, Dan Hyatt wrote:
In my bin directory, most of the binaries are linked to it. It is in my path. I have googled this and cannot find anything close.
I am running bash on centos6.8
When I run "which command" most of the files in this custom bin directory show up.
When I run "which file.jar" it cannot see it, but I can *ls* the file (soft link)
as which only works on executables (according to man page), I created a dan.jar empty file and did a which on dan.tar and found it.
can anyone explain what is happening and how I can soft link the jar files to my bin directory so which can see them?
I don't use java, so this may be way off base.
I'm assuming you have several *.jar files, but will work with two, foo.jar and bar.jar.
Place all your jar files in a single directory, not bin. Under lib is the common place. I'll use /home/dan/lib/jarfiles.
In your bin directory place a shell script named "foo" containing something like this:
#!/usr/bin/bash
ProgName=${0##*/} # (basename) strips dirs from path JarDir=/home/dan/lib/jarfiles JarFile=${JarDir}/${ProgName}.jar
## possibly test for existance of jar file
java -jar ${JarFile} "${@}" # I assume there may be args to pass.
That would let you run foo.jar as "foo" and do a "which foo" as it is an executable shell script.
For bar.jar you merely need to put it in the JarDir and make a link in the bin directory:
ln /home/dan/bin/foo /home/dan/bin/bar
Do the same for each *.jar, move to JarDir, make a link.
If particular jar files need special treatment you can put a switch statement in the script based on $ProgName.
Jon