bash/zshのコマンドライン履歴機能。直前のコマンド、直前の引数。
よく忘れるので例示と共にメモ。ここらへん押さえておくと作業効率が上がる。bashのページで発見したものを載せている。zshでも確認した。
実行系
- !!
- 直前に実行したコマンドを再現
- !+何かの文字
!sudoとすれば、sudoで始まる直近の実行コマンドを再度実行。他にヒットしないのがわかってれば、!suとか!sでもいい。最短マッチ。
- !:s/foo/bar
- 直前に実行したコマンドのfooをbarにして実行。gsにするとすべて置換
- これは便利!!
- 直前に実行したコマンドのfooをbarにして実行。gsにするとすべて置換
代わりの名前系(単語指示子、というらしい)
使うケースは多い。
$ ls /etc/hoge/fuga/
$ cd !^
とか。!^が最初の引数、!$で最後、!:nでn番目、!*ですべての引数を表す。引数が一つで単純に「さっき引数にした奴」を取りたいなら、左手だけで打てる「!$」を使う事が多いかな。
オプション
- ディレクトリ
- !^:h で、パスのディレクトリ部分取得。逆に
- !^:t で、パスのディレクトリ部分を除いて、ファイル名だけ取得
zshの本 (エッセンシャルソフトウェアガイドブック) | |
技術評論社 2009-06-17 売り上げランキング : 203455 おすすめ平均 tcsh/bash からの乗換えに zsh の本 Amazonで詳しく見る by G-Tools |