Solaris ユーザーズガイド (上級編)

前回のコマンドを繰り返す

Korn、Bourne Again、C、TC、および Z シェルには、入力されたコマンドの履歴を保持し、以前に入力されたコマンドを繰り返すことができるようにする機能があります。


注 –

Bourne シェル (sh) では、history コマンドは使用できません。


Bourne Again、C、TC、Z シェルでコマンドを繰り返す

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 シェルでのコマンドの繰り返し

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 文字しか指定しなかった場合は、その文字で始まるコマンドのうちで最後に入力したものが繰り返されます。