Bashで使用された前のコマンドの最後の(n番目?)渡された引数をどのように覚えていますか?

Bashで使用された前のコマンドの最後の(n番目?)渡された引数をどのように覚えていますか?

私はしばしば同じファイルに対して別のコマンドを実行します。たとえば、

$ youtube-dl aB54c4p0eo #I made this video id up on the spot
$ mv aB54c4p0eo.flv kittens.flv
$ vlc kittens.flv
$ rm kittens.flv

再構築する必要がないように、以前のコマンドのパラメータを現在のコマンドで再利用する方法はありますか?

答え1

alt-.もちろん大丈夫です。ただし、目的の番号付き引数(以前のコマンドの最初の引数)が既にわかっている場合は、すばやく進めることができます!:nn

これを魔法の空間と組み合わせることはしばしば役に立ちます。この機能を有効にするには、.inputrcと入力しますSpace: magic-space。この機能を有効にすると、後にスペースを入力すると、!:2Enter キーを押すのを待たずにすぐにその値に展開されます。誤って誤った引数をキャッチしないでください。

答え2

BashではショートカットキーAlt+を使用できます.
ワンクリックすると最後のパラメータが表示されます。さらにクリックすると、最終引数が循環します。

答え3

Bashの「前のコマンドラインの最後の単語」の表示は次のとおりです!!$

$ echo hello world
hello world
$ echo goodbye !!$
echo goodbye world # this is bash echoing actual cmd line before execution
goodbye world

「キャレット構文」を使用して置き換えることもできます。初期のコマンドラインの一部です。同じファイルから複数のコマンドを実行したい場合に便利です。

file file.dat
^file^ls -l^ #gives `ls -l file.dat`
^ls -l^stat # gives `stat file.dat`

より多くの可能性があります。 「歴史の交換」を参照してください。bash(1) マニュアルページもっと学ぶ。

答え4

比較的遅い方法は、前のコマンドを呼び出すことです。前のコマンドを新しいコマンドに置き換えます。

関連情報