次のようにコマンドを繰り返し、コマンドの後にテキストを追加する方法を知っています!!
。
ls -l
!! tmp
2行目はに展開されますls -l tmp
。
しかし、単語の間にコマンドにパラメータを追加するにはどうすればよいですか?たとえば、次のようにした場合:
ls tmp
-l
...その後、内容全体を再入力するか、上矢印キーを押して矢印キーを使用してカーソルを正しい位置に設定せずにコマンドにパラメータを追加したい場合がよくあります。無効に!! -l
なるため動作しませんls tmp -l
。 (実際にここで使用した簡単な例よりもコマンドがはるかに長いです。)
つまり、?? -l
whereが??
前のコマンドを繰り返すが、-l
最初の単語と2番目の単語の間に追加するものなどを探しています。
明確にするために、ls -l tmp
これは単純化された例にすぎません。実際のユースケースは同様の状況に近いです/very/long/path/to/very-long-command --with=a --very=long --parameter=list
。
ベストアンサー1
!!:0
は前のコマンドの0番目の単語で、!!:*
0番目の単語を除くすべての単語です。
!!:0 -l !!:*
あなたが探しているコマンドです。
源泉https://www.gnu.org/software/bash/manual/bash.html#Word-Designators