假设我的 ZSH 配置文件中有以下别名定义:
alias myalias="cd /"
我如何myalias
在另一个别名中使用?即:
alias myaliasone="myalias && cd /usr"
我试过了(用一个真正的别名,这个是假的,仅用于举例)但什么都没发生,我无法通过调试或修复看到任何错误,有什么想法吗?如果这是在另一个别名中使用别名的正确方法,你知道我该如何调试它,以便找到根本问题或发生了什么吗?
答案1
有两种方法可以实现此目的:
使用函数而不是别名
myalias() {
cd /
}
alias myaliasone='myalias && cd /usr'
使用$aliases
表格
zmodload -F zsh/parameter p:aliases
alias myalias='cd /'
alias myaliasone='$aliases[myalias] && cd /usr'
请注意,字符串需要用'
单引号引起来'
,以防止$
其中的参数被立即替换。现在,它们将在评估命令行时被替换,后别名被替换。