最後の引数を使用して前のコマンドを呼び出すことも、古い引数を使用して!$
ループを呼び出すこともできますが、ALT + .
現在使用中のコマンドの最後の引数を呼び出すことはできますか?
例えば、
root@chip:/# echo peckahs
root@chip:/# *_stuffthatdoesntmatter_*
root@chip:/# *_stuffthatdoesntmatter_*
root@chip:/# *_stuffthatdoesntmatter_*
root@chip:/# echo peckahs < used key shortcut to recall 'peckahs' the last used argument for echo
ベストアンサー1
Bashを使用すると、次のように要求するほとんどすべての操作を実行できます。
echo !echo:$
だからあなたがするとき
echo This is fun
ls
echo !echo:$
出力の最後の行は、fun
コマンドに一致するすべての引数を生成する*
代わりに;$
echo This is fun
ls
echo !echo:*
This is fun
再度出力しますが、そうすることもできます。
!echo
この場合。
これは、同じコマンドを使用してコマンドのパラメータを繰り返すことに限定されません。
printf !echo:*
バラよりバッシュリファレンスマニュアルもっと学ぶ。histverify
これを実行する前にコマンドを確認する機会を提供するシェルオプションと組み合わせることで、キーボードベースの対話型履歴の完成に近づくことができます。
たとえば、履歴拡張はどこでも使用できます。
lastechoargs="!echo:*"
最後のコマンドのすべてのパラメータを変数echo
に保存しますlastechoargs
。
これは完全なコマンドにも当てはまります。たとえば、複雑なコマンドを作成しgit
てファイルに保存したい場合です。
echo !git > mygitcommand
あるいは、いくつかのディレクトリを保持したいのですが、まずいくつかのファイルを削除することにしました。
ls dir1 dir2
rm dir2/somefile
tar cpzf archive.tar.gz !ls:*