如何建立與現有命令「重疊」名稱的別名?

如何建立與現有命令「重疊」名稱的別名?

假設我想建立一個名為sscommand 的別名sudo -s。但ss它已經是一個現有命令,所以我想建立另一個名為sst該命令的別名ss

如果僅使用普通命令名稱,這是不可能的,因為別名:

  1. 未以尊重順序的方式設置,且
  2. 引用其他別名,而不是僅引用命令

所以如果我嘗試以下操作:

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 -ssst運行命令ss

相關內容