回答:
$_または!$を使用して、前のコマンドの最後の引数を呼び出すことができます。
また、Alt + .以前のコマンドのいずれかの最後の引数をリコールするために使用することができます。
!!:1、!!:2など(!!:0前のコマンドそのものである。)を参照してくださいgnu.org/software/bash/manual/bashref.html#History-Interaction
!$、!^最初の引数に使用します。
echo tiger rabbitどのように参照できtigerますか?
Alt + .viモードでは機能しません。ここで混乱した他の人のために、参考までに。
前のコマンドに次のような2つの引数がある場合
ls a.txt b.txt
最初のものが欲しかったので、
!:1
与える
a.txt
または、両方が必要な場合は、次のように入力できます
!:1-2
与える
a.txt b.txt
これを任意の数の引数に拡張できます。例:
!:10-12
-bash: :1-2: bad word specifier
ls a.txt行目2行目ll !:1-2
!:^-$数値と組み合わせて使用したり、もちろん同様のコードを使用したりできます。
!!:nここnで、必要な引数の0ベースの位置です。
例えば:
echo 'one' 'two'
# "one two"
echo !!:2
# "two"
!プレフィックスは、前のコマンドにアクセスするために使用されます。
その他の便利なコマンド:
!$ -前のコマンドの最後の引数!^ -前のコマンドからの最初の引数(プログラム/組み込み/スクリプトの後)!! -前のコマンド(「バンバン」と発音されることが多い)!n- nからのコマンド番号history!pattern -最新のコマンド一致 pattern!!:s/find/replace-最後のコマンド、代替findとreplace!!:s/find/replace、あなたもできます^find^replace。
!* -前のコマンドからのすべての引数(プログラム/組み込み/スクリプトの後)。例: ls *.tmp *.cache rm !*
コマンドラインでesc- .またはalt+を押すことができます.
前のコマンドの最後の引数を循環します。
↑との↓キーも常に機能することがわかりました。
!*は、以前のすべての引数を使用して新しいコマンドを実行します。
ls /tmp
cd !*
#you are now in /tmp
$_代わりに使用する必要がありました。