我有一个 ZSH 别名:
alias -g ...='../..'
alias -g ....='../../..'
Run Code Online (Sandbox Code Playgroud)
当我尝试时cd ...
,一切都很完美。但是,我无法在cp
命令中使用它:cp .../file .
失败并显示cp: .../file: No such file or directory
。
此外,尝试使用别名,例如:cd .../dir
失败:cd:cd:10: no such file or directory: .../dir
。使用做同样的事情cd ...; cd dir
效果很好。
来自zsh-lovers页面:
全局别名可以在命令行中的任何位置使用。例子:
$ alias -g C='| wc -l'
$ grep alias ~/.zsh/* C
443
Run Code Online (Sandbox Code Playgroud)
ZSH简介还指出全局别名可以在命令行中的任何位置替换。
为什么我的别名没有像我想象的那样被使用?
也许原因是“.../file”中的“...”不是空格/边界分隔的?
例如,在 zsh-lovers 示例中,“C”前面有一个空格。
从另一个 SU 问题中,我发现以下内容可能会有所帮助:
nicoulaj / dotfiles:rationalize-dots