私はしばしば同じファイルに対して別のコマンドを実行します。たとえば、
$ 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-.
もちろん大丈夫です。ただし、目的の番号付き引数(以前のコマンドの最初の引数)が既にわかっている場合は、すばやく進めることができます!:n
。n
これを魔法の空間と組み合わせることはしばしば役に立ちます。この機能を有効にするには、.inputrcと入力しますSpace: magic-space
。この機能を有効にすると、後にスペースを入力すると、!:2
Enter キーを押すのを待たずにすぐにその値に展開されます。誤って誤った引数をキャッチしないでください。
答え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
比較的遅い方法は、前のコマンドを呼び出すことです。↑前のコマンドを新しいコマンドに置き換えます。