Название должно сказать все. Я ищу эквивалент ${BASH_SOURCE[0]}
в zsh.
Примечание. Я продолжаю находить, что "$0
эквивалентен ${BASH_SOURCE[0]}
" в Интернете, но это кажется ложным: $0
похоже, является именем исполняемой команды. (Это argv[0]
, что имеет смысл.) Повторяя $0 в моем script (.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
. Любой способ проверить, установлено ли это в script? (так что я могу временно установить его)nofunction_argzero
, и он включен в моей оболочке. Все равно ничего не получаю за $0
. (Я думаю, что b/c у меня нет функции.)