
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
。