エイリアスを指定できません。 ! (二重感嘆符) bashで

エイリアスを指定できません。 ! (二重感嘆符) bashで

Bashでエイリアスを作成しようとしています。

alias r='!!'

私の考えは入力するのが難しいので!!(二重感嘆符)を使用して最新のコマンドを実行するのではなく、古いコマンドを実行するための単純なエイリアスrを作成することでした。私はalias r='fc -s'これを行うことができることを知っていますが、なぜそれができないのかを理解しようとしています。 bashの意味とエイリアスを追加できない理由を!!知りたいです。!!たとえば、他のbash組み込み関数のエイリアスを作成できますが、alias cdir='cd'正しく!! 解釈できない場合はなぜできませんか?

ベストアンサー1

bashの歴史的拡張(これがその!!一部である)は、行が単語に分割されエイリアスが拡張される前に発生します。したがって、エイリアスや関数には履歴拡張を使用できません。

これはオリジナルとは異なりますcsh

おすすめ記事