Whenever I like to write a bash script (by bash, I mean Bourne Shell), I like to ensure that whatever script I’m writing is as portable as possible. One thing that I find quite useful is basing all my paths on the currently executing file’s directory.
However, there’s no single command to get the currently executing script’s directory.
But there is a way to get this directory, but it involves a little bit of trickery. I’ve shown how to do this below:
# Set the current directory to be the dirname of the current file. HERE=`dirname "$0"` # If not absolute path to file, then get as absolute. if [ `echo "${HERE}" | /usr/bin/cut -b 1 -` != "/" ] ; then HERE=`dirname $(pwd)/"${0}"` fi
Hope this is useful for you as it is for me!
Comments