unix shell script find out which directory the script file resides?

For bash, sh, ksh:

#!/bin/bash 
# Absolute path to this script, e.g. /home/user/bin/foo.sh
SCRIPT=$(readlink -f $0)
# Absolute path this script is in, thus /home/user/bin
SCRIPTPATH=$(dirname $SCRIPT)
echo $SCRIPTPATH

For tcsh, csh:

#!/bin/tcsh
# Absolute path to this script, e.g. /home/user/bin/foo.csh
set SCRIPT=`readlink -f $0`
# Absolute path this script is in, thus /home/user/bin
set SCRIPTPATH=`dirname $SCRIPT`
echo $SCRIPTPATH

 

Tags: , , , , , , , ,