🖥
シェル — 最後に実行したコマンドを再実行する ( !! )
答え
タイトルの通り !!
で可能
なんと呼ぶ?
「ダブルバン」とか。
(和風が好きなら「にじゅうびっくり」でも良い)
例
現在時刻を表示する
$ date +%s
1535343779
次に !!
で再実行する
$ !!
date +%s
1535343781
コマンドが再実行され、時刻が進んでいるのが分かる。
結果だけではなく、
「コマンド内容」と「結果」があわせて表示されようだ。
次に矢印キーなどでコマンド履歴を戻ると
!!
ではなく、再実行後のコマンドが出てくるのが分かる
$ date +%s!
数指定
!-数字
という記法で、何個前の履歴を再実行するかを選べる。
例
例として、まずは三個のコマンドを実行しておく
$ echo Alice
Alice
$ echo Bob
Bob
$ echo Carol
Carol
ここで二個前のコマンドを再実行する
$ !-2
echo Bob
Bob
もういちど「二個前のコマンド」を再実行する
ここでは、二個前に実行したのは echo Carol
になる (繰り上がり)
$ !-2
echo Carol
Carol
Versions
- sh 3.2
- bash 4.4
- Docker version 18.03.1-ce, build 9ee9f40
- Mac OS X High Sierra
Ref
- shell - How do I repeat the last command without using the arrow keys? - Unix & Linux Stack Exchange
- linux - Start a line in bash script with !! (double bang) - Stack Overflow
チャットメンバー募集
何か質問、悩み事、相談などあればLINEオープンチャットもご利用ください。
公開日時
2018-08-27
Discussion