2016-07-22 12 views
0

bashでは、使用した最新のコマンドを実行するには、キーボードの上矢印キーを押してEnterを押すか、!!と入力してEnterを押します。しかし、直前に実行されたコマンドを実行するために使用できるコマンドはありますか?たとえば、次のように!!直前に実行されたコマンドを実行するコマンドですか?

$ pwd 
/home/john 
$ ls 
bin  Documents Music Pictures Templates 
Desktop Downloads output Public Videos 

入力してEnterを押すと、再びlsコマンドを実行します。しかし、同じ方法でpwdコマンドを実行させる!!コマンドに類似したものがありますか?ある場合は、それがどのように動作するかについてもう少し詳しく説明してください。

+0

履歴の拡張には、「!!」よりも*ロット*が多くなります。詳細はmanページで確認してください。 – chepner

答えて

3

!nを使用できます。nは履歴の行番号です。最後に2番目のコマンドを取得するには、!-2を使用します。

0

!-2のように使用できます。上向きの矢印とともに、ctrl-pを使って履歴を元に戻すことができ、ctrl-nを使って進むことができます。 ctrl-rを使用して、すでに入力したコマンドを逆方向に検索することもできます。

+0

履歴をナビゲートするための正確なキーバインディングは、人によって異なる場合があります(ただし、その場合、その人はすでに何をしているのかは分かっています)が、履歴拡張はシェルによって固定されます。 – chepner

+0

はい、それは本当です – nikkypx

0

最後に実行されたコマンドの最初の文字である を覚えていましたか?コマンドの先頭文字を!あなたの質問から

!リットル、 とを使用し、再度、LSを実行する!Pまたは!PW PWD command.butを実行することは、最後に実行する1つを実行します。

関連する問題