Created
May 16, 2011 15:24
-
-
Save darrenderidder/974638 to your computer and use it in GitHub Desktop.
Get path of running script in bash
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# A simple test script to demonstrate how to find the | |
# "absolute path" at which a script is running. Used | |
# to avoid some of the pitfals of using 'pwd' or hard- | |
# coded paths when running scripts from cron or another | |
# directory. | |
# | |
# Try it out: | |
# run the script from the current directory, then | |
# cd.. and run it again (using the file path). | |
# | |
# You can see that CURDIR changes depending on where | |
# you run the script from, but ABSDIR stays the same. | |
CURDIR=`/bin/pwd` | |
BASEDIR=$(dirname $0) | |
ABSPATH=$(readlink -f $0) | |
ABSDIR=$(dirname $ABSPATH) | |
echo "CURDIR is $CURDIR" | |
echo "BASEDIR is $BASEDIR" | |
echo "ABSPATH is $ABSPATH" | |
echo "ABSDIR is $ABSDIR" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Never leave var refs unquoted unless it's absolutely necessary.
For completeness: Bash implicitly double-quotes var assignments unless there's a space, so those don't need it (there wasn't any here), but var refs (and process substitutions) inside process substitutions (and var refs) need to be double-quoted, unless otherwise absolutely necessary.