%20bash%E3%81%A7.png)
Bashでエイリアスを作成しようとしています。
alias r='!!'
私の考えは入力するのが難しいので!!(二重感嘆符)を使用して最新のコマンドを実行するのではなく、古いコマンドを実行するための単純なエイリアスrを作成することでした。私はalias r='fc -s'
これを行うことができることを知っていますが、なぜそれができないのかを理解しようとしています。 bashの意味とエイリアスを追加できない理由を!!
知りたいです。!!
たとえば、他のbash組み込み関数のエイリアスを作成できますが、alias cdir='cd'
正しく!!
解釈できない場合はなぜできませんか?
答え1
bashの歴史的拡張(これがその!!
一部である)は、行が単語に分割されエイリアスが拡張される前に発生します。したがって、エイリアスや関数には履歴拡張を使用できません。
これはオリジナルとは異なりますcsh
。