Название должно сказать само за себя. Я ищу эквивалент на ${BASH_SOURCE[0]}
в zsh.
Примечание:Я продолжаю находить " $0
эквивалентно ${BASH_SOURCE[0]}
" по всему Интернету, но это кажется неверным: $0
кажется именем выполняемой команды. (Это argv[0]
, что имеет смысл.) $0 в моем сценарии ( .zshrc
) дает zsh
вместо $0
, что не совпадает с тем, что ${ BASH_SOURCE[0]}
. На самом деле ${BASH_SOURCE[0]}
работает в zsh
, за исключением внутреннего .zshrc
.
Что я на самом деле делаю в своем .zshrc
(это не работает):
echo ${BASH_SOURCE[0]}
source `dirname $0`/common-shell-rc.sh
Ошибка источника ( $0
is zsh
) и echo
выводит пустую строку.
Редактировать:очевидно, для работы Очевидно, он включен, если вы не установите $0
мне нужен параметр FUNCTION_ARGZERO
. Есть ли способ проверить, установлено ли это в сценарии? (чтобы я мог временно установить его)nofunction_argzero
, и он включен в моей оболочке. По-прежнему ничего не получите за $0
. (Я думаю, потому что я не в функции.)