Название должно сказать все. Я ищу эквивалент ${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 у меня нет функции.)