barbitoff programmer`s blog

Здесь я публикую заметки из программерской жизни: грабли, на которые мне случилось наступить, проблемы, для которых было найдено элегантное (или не очень) решение, а также все, с чем мне пришлось столкнуться и чем хотелось бы поделиться =)
PS Если хотите меня поблагодарить - на странице есть 3 места, чтобы это сделать =)

четверг, 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.

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

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