Tips

Bash

対話シェルとして使用する bash (1) の コマンドライン履歴機能の便利な使い方。
bash (1) のコマンドライン履歴機能のうち イベント指示子、単語指示子、修飾指示子は オンラインマニュアルにも情報が少ないが、 慣れると非常に便利でキータイプ量も減るので是非マスターしておきたい。
以下の文中で nm は任意の整数、 foobarbaz などは任意の文字列を示す。

機能一覧

イベント指示子
!! 直前に実行したコマンドを実行する
!-n n 回前に実行したコマンドを実行する
^foo^bar
!:s/foo/bar
直前に実行したコマンドの foobar に変更して実行する
!:gs/foo/bar 直前に実行したコマンドの全ての foobar に変更して実行する
!foo foo で開始されるコマンドを実行する
!n
n 番目に実行されたコマンドを実行する
単語指示子
!:n 直前に実行したコマンドの n 番目の引数を取得する
!^ 直前に実行したコマンドの 1 番目の引数を取得する
!$ 直前に実行したコマンドの最後の引数を取得する
!* 直前に実行したコマンドの全ての引数を取得する
!:n* 直前に実行したコマンドの n 番目から最後までの引数を取得する
!:n-m 直前に実行したコマンドの n 番目から m 番目までの引数を取得する
!:-n 直前に実行したコマンドの最初から n 番目までの引数を取得する
!:n- 直前に実行したコマンドの n 番目から最後の 1 個前までの引数を取得する
修飾指示子
:p コマンドを表示のみして実行しない
:h パスのファイル名部分を取り除きディレクトリ名を取得する
:t パスのディレクトリ名部分を取り除きファイル名を取得する
:r ファイル名の拡張子を取り除き "." の前を取得する
:e ファイル名の拡張子を "." 付きで取得する

イベント指示子

単語指示子

修飾指示子

Last Update: 14 Apr. 2010