假设我想ss
为命令创建一个名为 的别名sudo -s
。但是ss
已经是一个现有命令,所以我想sst
为命令创建另一个名为 的别名ss
。
如果仅使用普通命令名称,这是不可能的,因为别名:
- 没有按照顺序设置,并且
- 引用其他别名,而不是仅引用命令
因此,如果我尝试以下操作:
alias sst='ss'
alias ss='sudo -s'
运行命令sst
导致运行sudo -s
,这不是我的意图。
如何才能做到这一点?
答案1
为了使上述操作有效,您需要引用要运行的命令的绝对路径。
可以通过以下方式完成:
alias sst='/usr/bin/ss'
alias ss='sudo -s
然而,人们不能总是确定ss
它是否在那个位置,所以更可靠的方法是:
alias sst='$(which ss)'
alias ss='sudo -s
现在,上述操作按预期工作,其中ss
运行sudo -s
并sst
运行命令ss
。