Zsh 在非交互式壳中展开别名
在Zsh 在非交互式壳中展开别名,zsh,csh,tcsh,Zsh,Csh,Tcsh,在bash中,我们可以使用shopt-s expand_alias来扩展脚本中的别名 zsh、csh和tcsh的等效命令是什么?他们真的存在吗 在专注于zsh的过程中,我还没有找到这样的命令。我甚至尝试用脚本中的别名来寻找文件,但没有成功。对于zsh您可以使用setopt别名 #!/usr/bin/zsh alias hoo="echo bar" unsetopt aliases hoo # outputs `./test.zsh:5: command not found: hoo` seto
bash
中,我们可以使用shopt-s expand_alias
来扩展脚本中的别名
zsh
、csh
和tcsh
的等效命令是什么?他们真的存在吗
在专注于
zsh
的过程中,我还没有找到这样的命令。我甚至尝试用脚本中的别名来寻找文件,但没有成功。对于zsh
您可以使用setopt别名
#!/usr/bin/zsh
alias hoo="echo bar"
unsetopt aliases
hoo # outputs `./test.zsh:5: command not found: hoo`
setopt aliases
hoo # outputs `bar`
有关详细信息,请参见man zshoptions
对于
csh
和tcsh
,源文件(source${HOME}/.cshrc
)就足够了。zsh似乎在默认情况下扩展了alias。您可以编写一些在zsh中不起作用的示例代码吗?如果我在(例如)~/.zshrc
中设置了我的别名,并且在脚本顶部设置了我的source${HOME}/.zshrc
,那么该脚本将无法使用~/.zshrc
中存在的别名。它至少对zsh
有效。非常感谢。请将其添加为答案,以便我可以接受。了解如何在csh
和tcsh
中执行此操作:在相关文件上使用source
即可。在zsh
中默认启用alias
选项(至少从2019年2月起)