引数なしでコマンドを実行するとき(コマンドではなくコマンドのリストで実行することをお勧めします)、前のコマンドの引数を取得するようにbashを設定したいと思います。
たとえば、次のように入力emacs ~/.bashrc
するとsource
bashが実行されます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 .
答え2
私が知っているクロージング戦略はAlt+.
これにより、以前のすべてのパラメータを繰り返すことができます。