質問: bashの前のコマンドから特定の引数を取得するにはどうすればよいですか? bashでは、!*を使用して、前のコマンドからすべての引数を取得できます。例として、cp /some/path /some/other/pathを実行してからmv !*を実行した場合、2番目のコマンドはmv /some/path /some/other/pathに展開されます。すべてではなく、コマンドから特定の引数にアクセスするために使用できるこのようなものはありますか?
回答: 個人的には、インタラクティブシェルでecho "hello world!"を試してみると邪魔になるこの「感嘆符付きの拡張」機能が本当に嫌いです(したがって、非インタラクティブモードで実行されることを前提としたソーシングスクリプトはまったく機能しません) 。そこで、set +o histexpandを設定し、次のメソッドで引数の呼び出しを開始します。esc, 1, esc, ctrl-y => insert first argument of previous command. esc-trickは、メタキーがないためです。