Bash
$_ 不適用於複製和移動命令
我面臨使用問題, 終端
$_
中的$_
特殊參數,以及它呼叫上一個命令的最後一個參數。它不適用於 gnome-terminal 中的
cp
and命令。它在創建文件夾和/或帶有 $_ 的文件mv
期間發生在我身上,如下所示mv``cp
mkdir test cp file.c $_
它不是將文件複製到目標,而是在目前目錄中創建一個名為
_filedir
.
mv
命令也會發生同樣的情況mkdir test mv file.c $_
而不是將文件移動到目的地,而是在名稱中移動
_filedir
。為了找到問題,我使用 echo
$ mkdir test $ echo $_ _filedir
為什麼 $_ 不能與 cp、mv 命令一起使用?
$_ - 將最後一個參數提供給前一個命令。在 shell 啟動時,它給出正在執行的 shell 腳本的絕對文件名。當你執行
mkdir test mv file.c $_
檢查你的 mv, cp 是否是別名
在 bash 中將最後一個 arg 訪問到 History 中的上一個命令使用 !:$ ,例如:
> mkdir test > mv file.c !:$ mv file.c test