在ZSH 之后:从使用相同名称的 zsh 函数调用内置函数并运行一个被别名遮蔽的命令,可能期望该命令keyword
等效于它们各自的同名令牌类别的内容;以便builtin
command
if [ -z 'love' ]; then echo 'sad world'; keyword else echo 'wonderful world'; fi
相当于
if [ -z 'love' ]; then echo 'sad world'; else echo 'wonderful world'; fi
这个问题是在以下棘手的场景中发现的:能够else
用alie
和fi
替换else
。请参阅zsh buildtins 可以别名吗?更多细节。
keyword
因此,如果该命令存在,实现该功能的假设尝试将是:
别名 alie="keyword else" 别名 else='fi'
因此,总而言之,问题是如何使 zsh 代码的以下和平按上一个命令的预期工作:
if [ -z 'love' ]; then echo 'sad world'; alie echo 'wonderful world'; else