引数が指定されていない場合、最後の引数としてコマンドを実行するように bash を構成する

引数が指定されていない場合、最後の引数としてコマンドを実行するように bash を構成する

引数なしでコマンドを実行するとき(コマンドではなくコマンドのリストで実行することをお勧めします)、前のコマンドの引数を取得するようにbashを設定したいと思います。

たとえば、次のように入力emacs ~/.bashrcするとsourcebashが実行されますsource ~/.bashrc。これが可能であることを知っていますが、そのようなオプションをどこで見つけることができるかわかりません。

ベストアンサー1

Spaceを押す前に+を押すことができますMeta。これの利点は、引数なしで適用されると意味のあるコマンドにも使用できることです。 For、入力を減らすために使用されます。.Entersource.

時代遅れの場合は、!^前のコマンドの最初の引数、!$最後の引数、または!*コマンド名を除くすべての引数を呼び出すことができます。

各コマンドに関数を書くことで、説明した動作を正確に得ることができます。前のコマンドの最後のパラメータは特別なパラメータで使用できます$_

make_wrapper_to_recall_last_argument () {
  for f do eval <<EOF; done
function $f {
  if [ \$# -eq 0 ]; then set -- "\$_"; fi
  command $f "\$@"
}
EOF
}
make_wrapper_to_recall_last_argument source .

おすすめ記事