${BASH_SOURCE[0]} équivalent dans zsh?

Le titre dit tout. Je suis à la recherche d'un équivalent de ${BASH_SOURCE[0]} dans zsh.

Remarque: je continue de trouver "$0 est équivalent à ${BASH_SOURCE[0]}" autour de l'Internet, mais cela semble être faux: $0 semble être le nom de l'exécution de la commande. (C'est argv[0], qui fait sens.) En écho à 0 $dans mon script (.zshrc) donne zsh pour $0, ce qui n'est pas la même chose que ce ${BASH_SOURCE[0]} est. En fait, ${BASH_SOURCE[0]} semble fonctionner dans la zsh, sauf pour l'intérieur de la .zshrc fichiers.

Ce que je suis vraiment en train de faire dans mon .zshrc (qui ne fonctionne pas):

echo ${BASH_SOURCE[0]}
source `dirname $0`/common-shell-rc.sh

La source d'échec ($0 est zsh) et le echo sorties d'une ligne vide.

Edit: apparemment, pour $0 à travailler, j'ai besoin de l'option FUNCTION_ARGZERO option. Aucun moyen de tester si cette option est définie dans un script? (afin que je puisse temporairement définir) C'est apparemment sur, sauf si vous définissez nofunction_argzero, et il est dans ma coquille. Toujours rien pour $0. (Je pense que b/c je ne suis pas dans une fonction.)

InformationsquelleAutor Thanatos | 2012-03-28