【发布时间】:2012-03-28 04:33:40
【问题描述】:
标题应该说明一切。我正在 zsh 中寻找与 ${BASH_SOURCE[0]} 等效的对象。
注意: 我一直在互联网上发现“$0 等同于${BASH_SOURCE[0]}”,但这似乎是错误的:$0 似乎是执行命令的名称。 (这是argv[0],这是有道理的。)在我的脚本(.zshrc)中回显$0 为$0 提供zsh,这与${BASH_SOURCE[0]} 不同。事实上,${BASH_SOURCE[0]} 似乎在 zsh 中工作,除了在 .zshrc 文件中。
我在我的.zshrc 中真正在做什么(那是行不通的):
echo ${BASH_SOURCE[0]}
source `dirname $0`/common-shell-rc.sh
源失败($0 是 zsh),echo 输出一个空行。
编辑: 显然,要使 除非您设置$0 工作,我需要设置FUNCTION_ARGZERO 选项。有什么方法可以测试这是否在脚本中设置? (以便我可以临时设置它)nofunction_argzero,否则它显然是开启的,并且它在我的shell 中是开启的。 $0 仍然一无所获。 (我认为 b/c 我不在函数中。)
【问题讨论】: