機略戦記

Maneuver warfare

aliasを設定したとき、元のコマンド名を無効化したい

alias便利

shellのaliasは便利な機能だ。 よく使うコマンドに短縮型を設定してシェルの操作を効率化することができる。

#.zshrc
alias g='git'
$ g status
On branch master
Your branch is up-to-date with 'origin/master'.
nothing to commit, working directory clean

aliasを忘れて元のコマンド名を叩く問題

しかし、困ったことがある。 aliasを設定したことを忘れて、元のコマンド名を使ってしまうことがよくあるのだ。

元のコマンド名を使わせずに、短縮型のコマンド名を使わせることを強制したい。(自分に)

そこでこのような設定をした。

実際の設定

  • 元のコマンド名をecho "use alias!"に置き換えてしまう。
#.zshrc
alias g='\git'
alias git='echo "use alias!"'
  • これだけだといろいろと不都合が起きそうなのでこうした。
#.zshrc
alias g='\git'
alias git='echo "use alias!" ; sleep 3 ; git'
  • これですぐaliasが身につく。