Bash 如何在zsh中编写modulino?
我喜欢以“modulinos”的形式编写脚本,shell脚本可以自己作为小CLI程序调用,也可以由其他程序作为库导入 我可以在bash中通过以下方式实现这一点: 我也希望在zsh做这件事。我怎么能这样做 最重要的是找到一种模仿bash的方法:Bash 如何在zsh中编写modulino?,bash,shell,zsh,modulino,Bash,Shell,Zsh,Modulino,我喜欢以“modulinos”的形式编写脚本,shell脚本可以自己作为小CLI程序调用,也可以由其他程序作为库导入 我可以在bash中通过以下方式实现这一点: 我也希望在zsh做这件事。我怎么能这样做 最重要的是找到一种模仿bash的方法: if [[ "$BASH_SOURCE" == "$0" ]] then main fi 换句话说,查找此脚本的名称与调用程序的名称(当它们相等时,运行main(),当它们不同时,跳过,因为此脚本将作为库导入) 问题是,我认为zsh的$0行为类
if [[ "$BASH_SOURCE" == "$0" ]]
then
main
fi
换句话说,查找此脚本的名称与调用程序的名称(当它们相等时,运行main(),当它们不同时,跳过,因为此脚本将作为库导入)
问题是,我认为zsh的
$0
行为类似于bash的$bash\u SOURCE
,我认为没有一个zsh等价于bash的$0
(其工作方式不同)来进行补偿。检查zsh\u eval\u context
的最后一个元素的值。如果它等于“toplevel”,那么应该等于$BASH\u SOURCE==$0
检查为true
if [[ $zsh_eval_context[-1] == toplevel ]]; then
main
fi
谢谢,伙计!在我的机器上工作得很好!