Ответ 1
какая оболочка? Какая операционная система?
Для начала попробуйте
man pwd
$PWD
Как я могу определить имя каталога (или, еще лучше, весь путь), в котором запущена моя оболочка script?
какая оболочка? Какая операционная система?
Для начала попробуйте
man pwd
$PWD
Это, я считаю, самый портативный способ:
dir=$(cd -P -- "$(dirname -- "$0")" && pwd -P)
Это не так тривиально, как кажется. Ознакомьтесь с этим вопросом и этим
альтернативный метод
pid=$$
path=$(ps -eo pid,args| awk -vp=$pid '$1~p{print $3}')
case "$path" in
./* ) pwd;;
* ) echo $path;;
esac