Unixシェル 履歴置換

履歴置換は、以前入力したコマンド行のワードを、これから入力するコマンド行で使用できます。これにより、綴りの訂正、複雑なコマンドや引数の繰り返し入力が簡単になります。

sh

sh (Bourneシェル)には履歴置換の機能はありません。

bash

bash (Bourne Againシェル)の履歴コマンドを次に示す。

bashの履歴コマンド
コマンド 説明
history コマンドの実行履歴を表示する。
!n コマンド行のn番目を参照する。
!-n n回前のコマンドを参照する。
!! 直前のコマンドを参照する。!-1と同じ。
!string string で始まるコマンドのうち、最近実行したコマンドを参照する。
^string1^string2^ 最新のコマンドを繰り返す。ただし string1string2 に置き換えて実行する。

bashでコマンドの実行履歴を表示するには、historyコマンドを実行する。

$ history
1 ls /home/marina
2 vi text
3 history
$

historyコマンドで表示された履歴の番号を指定して、コマンドを再実行することができる。

$ !2