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