CentOS6.5にてbashシェルにて確認。
!$
というのは前に使ったコマンドの最後の文字列を表す。
$ touch a b c d e
$ echo !$
とするとe
が表示される。
$ mkdir SAMPLE_DIRECTORY_HOGEHOGE
$ cd !$
とするとSAMPLE_DIRECTORY_HOGEHOGE
に移動できる。タブ補間入力よりも早い時もある。
(追記)
!$
は直前のコマンドの「最後の文字列」のようですが、同じように!^
は直前のコマンドの「最初の文字列」となるようです。
また、!:2
のようにすると2つ目の文字列というように位置の指定もできるようです。
例として
$ echo a b c d e
$ echo !^ !:2 !:3 !$
とすると
a b c e
という結果となります。