четверг, 13 октября 2011 г.

bash: определение абсолютного пути скрипта

Для определения пути к скрипту изнутри него самого можно воспользоваться нулевым атрибутом скрипта ($0), однако его значение зависит от того, каким образом вызван скрипт - по относительному пути или по абсолютному. Поэтому всё выходит немного сложнее:

WDIR=`pwd`
testAbsolutePath=`echo $0 | sed -e '/^\//d'` # delete string, starting with "/"
if [ -n "$testAbsolutePath" ]; then # rel path
THISEXEC="$WDIR/$0"
else
THISEXEC="$0" # abs path
fi

Результат будет в переменной THISEXEC.

Комментариев нет:

Отправить комментарий