Korn、Bourne Again、C、TC、および Z シェルには、入力されたコマンドの履歴を保持し、以前に入力されたコマンドを繰り返すことができるようにする機能があります。
Bourne シェル (sh) では、history コマンドは使用できません。
Bourne Again、C、TC、または Z シェルを使用している場合は、!! と入力して Return キーを押すことにより最後に入力したコマンドを繰り返し実行することができます。
example%!! date Tue Oct 31 15:18:38 MST 2000 example% |
!x と入力すると、以前に入力した任意のコマンドを繰り返し実行できます。x は、繰り返すコマンドに対応する履歴リスト上のコマンド番号です。履歴リストを参照するには、history と入力して Return キーを押します。次の例に示すようなリストが表示されます。
example% history 1 pwd 2 clear 3 ls -l 4 cd $HOME 5 logname 6 date 7 history |
Z シェルは、履歴リストに history コマンドを表示しません。
また、! のあとに負の番号を入力しても履歴リスト上のコマンドを繰り返すことができます。たとえば、履歴リスト上の最後のコマンドから数えて 2 番目のコマンドを実行するには、次のコマンドを入力します。
example% !-2 date Tue Oct 31 15:20:41 MST 2000 example% |
Z シェル内で history コマンドの直後にこのコマンドを繰り返し実行するには、! のあとの負の数を 1 つ増やしてください (!-3)。
上記の履歴リストの例では、date コマンドが繰り返し実行されます。
! の後に以前に入力したコマンドの先頭の数文字を入力してもコマンドを再実行できます。たとえば、以前に clear コマンドを入力して画面をクリアした場合は、!cl と入力すれば画面を再度クリアできます。ただし、この方法によるコマンドの繰り返しでは、繰り返したいコマンドを履歴リスト上で一意に識別できる文字数を指定しなければなりません。! のあとに 1 文字しか指定しなかった場合は、その文字で始まるコマンドのうちで最後に入力したものが繰り返されます。
Korn シェルを使用する場合、次のコマンドを使用して以前のコマンドを繰り返し実行します。
$ fc -s - date Tue Oct 31 15:18:38 MST 2000 $ |
fc -s x と入力すると、以前に入力した任意のコマンドを繰り返し実行できます。x は、繰り返すコマンドに対応する履歴リスト上のコマンド番号です。履歴リストを参照するには、fc -l と入力して Return キーを押します。履歴リストの使用例を次に示します。
$ fc -l 344 pwd 345 clear 346 ls -l 347 cd $HOME 348 logname 349 date 350 history $ |
履歴リストからコマンドを繰り返し実行するには、fc -s コマンドにマイナスの番号を付けて実行します。たとえば、履歴リスト上の最後のコマンドから数えて 2 番目のコマンドを実行するには、次のコマンドを入力します。
$ fc -s -2 date Tue Oct 31 15:20:41 MST 2000 $ |
上記の履歴例では、date コマンドが繰り返し実行されます。
fc -s コマンドに以前のコマンドの最初の 2、3 の文字を付けることによっても実行できます。たとえば、以前に date コマンドを使用して現在の日時を表示した場合、fc -s da と入力すると日時を再度表示できます。ただし、履歴リスト内でコマンドを特定するのに十分な文字数を入力する必要があります。fc -s のあとに 1 文字しか指定しなかった場合は、その文字で始まるコマンドのうちで最後に入力したものが繰り返されます。