
假設我想建立一個名為ss
command 的別名sudo -s
。但ss
它已經是一個現有命令,所以我想建立另一個名為sst
該命令的別名ss
。
如果僅使用普通命令名稱,這是不可能的,因為別名:
- 未以尊重順序的方式設置,且
- 引用其他別名,而不是僅引用命令
所以如果我嘗試以下操作:
alias sst='ss'
alias ss='sudo -s'
運行該命令sst
會導致 running 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
。