Bash
未提供參數時,將 bash 配置為使用最後一個參數執行命令
我想配置 bash,以便當我執行不帶參數的命令(最好是從命令列表,而不是任何命令)時,它會採用前一個命令的參數。
因此,例如我輸入
emacs ~/.bashrc
,然後當我輸入 時source
,bash 執行source ~/.bashrc
. 我知道這是可能的,但我不知道在哪裡尋找這樣的選擇。
在按之前,您可以按
Space
thenMeta
+ 。這樣做的好處是,即使在應用於無參數時有意義的命令也可以使用它。對於, 用於輸入更少。.``Enter``source``.
如果你是老派,你可以用它
!^
來呼叫前一個命令中的!$
第一個參數,或者呼叫最後一個參數,或者!*
呼叫所有參數(命令名稱除外)。您可以通過編寫環繞每個命令的函式來獲得您所描述的行為。上一個命令的最後一個參數在特殊參數中可用
$_
。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 .