Bashに前のコマンドの引数を思い出す方法はありますか?
私は通常、vi file.c
に続いてgcc file.c
を実行します。
Bashに前のコマンドの引数を思い出す方法はありますか?
$_
または!$
を使用して、前のコマンドの最後の引数を呼び出すことができます。
また、Alt + .
を使用して、前のコマンドの最後の引数を呼び出すことができます。
前のコマンドに次のような2つの引数があった場合
ls a.txt b.txt
そして、あなたは最初のものを望んでいた、あなたは入力することができます
!:1
与える
a.txt
または、両方が必要な場合は、次のように入力できます
!:1-2
与える
a.txt b.txt
これを任意の数の引数に拡張できます。例:
!:10-12
!!:n
ここで、n
は、必要な引数の0から始まる位置です。
例えば:
echo 'one' 'two'
# "one two"
echo !!:2
# "two"
!
プレフィックスは、前のコマンドにアクセスするために使用されます。
その他の便利なコマンド:
!$
-前のコマンドの最後の引数!^
-前のコマンドからの最初の引数(プログラム/ビルトイン/スクリプトの後)!!
-前のコマンド(「バンバン」と発音されることが多い)!n
-コマンド番号n
from history
!pattern
-pattern
に一致する最新のコマンド!!:s/find/replace
-最後のコマンド、find
をreplace
に置き換えますコマンドラインで次を押すことができます esc-. または alt+.
前に使用した引数を繰り返し使用します。
特定のコマンドの履歴で指定された番号がわかっている場合、次の用語を使用して、そのコマンドの引数を取ることができます。
履歴の3番目のコマンドから2番目の引数を取得するには、次を使用します。
!3:2
次を使用して、履歴の最後から5番目のコマンドから3番目の引数を取得します。
!-5:3
マイナス記号を使用して、履歴の最後のコマンドから移動するように要求します。
はい、!$
を使用して、前のコマンドの最後の引数を呼び出すことができます。
!*は、以前のすべての引数を使用して新しいコマンドを実行します。
ls /tmp
cd !*
#you are now in /tmp