私はこんな作業をよくします。
- あるファイルをディレクトリAにコピー
- ディレクトリAに移動
この際
$ cp something /path/to/A $ cd /path/to/A
とするわけですが、この /path/to/A を2回うつのはめんどくさいので、簡単な方法がないかを調べてみると、
!$
という特殊変数があることがわかりました。
しかし、しょっちゅう忘れるので、覚え方を考えてみました。
bashでは、履歴を知りたいときに、!を使います。
たとえば
$ history
でコマンド履歴を調べ、その1457番目のコマンドを再度実行したいときは
$ !1457
とすればいいわけですね。
で、$ですが、正規表現において、$は「行の最後」を意味します。
この2つを組み合わせれば
「履歴において一番最後のもの」
と考えれば、 !$
は覚えやすいなと思いました。
自分の思考過程を備忘録として書いておきます。
<29/July/2020 追記>
コメントに Esc + . でもいけるというご指摘をいただきました。
これは、viの動作をイメージすると覚えやすいですね。
vi は コマンドモードで、. は繰り返しになるわけですので、
bashでEscでviのコマンドモードに入ったような感じになって、.で前回の引数の繰り返しというイメージで覚えたらいけそうです。