Как определить текущий каталог, в котором я запускаю свою оболочку script?

Как я могу определить имя каталога (или, еще лучше, весь путь), в котором запущена моя оболочка script?

Ответы

Ответ 1

какая оболочка? Какая операционная система?

Для начала попробуйте

man pwd
$PWD

Ответ 2

Это, я считаю, самый портативный способ:

dir=$(cd -P -- "$(dirname -- "$0")" && pwd -P)

Ответ 4

альтернативный метод

pid=$$
path=$(ps -eo pid,args| awk -vp=$pid '$1~p{print $3}')
case "$path" in
    ./* ) pwd;;
    * ) echo $path;;
esac