Как узнать имя файла скрипта в скрипте Bash? - PullRequest
521 голосов
/ 10 октября 2008

Как определить имя файла сценария Bash внутри самого сценария?

Например, если мой скрипт находится в файле runme.sh, то как мне сделать так, чтобы он отображал сообщение «Вы запускаете runme.sh» без жесткого кодирования?

Ответы [ 22 ]

0 голосов
/ 24 ноября 2018

Вот то, что я придумал, вдохновленный ответом Димитра Радулова (кстати, я проголосовал) .

script="$BASH_SOURCE"
[ -z "$BASH_SOURCE" ] && script="$0"

echo "Called $script with $# argument(s)"

независимо от того, как вы называете свой скрипт

. path/to/script.sh

или

./path/to/script.sh
0 голосов
/ 28 апреля 2011
DIRECTORY=$(cd `dirname $0` && pwd)

Я получил вышеупомянутое из другого вопроса переполнения стека, Может ли сценарий Bash сказать, в каком каталоге он хранится? , но я думаю, что это полезно и для этой темы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...