我面临使用问题
$_
,$_
终端中的哪个特殊参数,以及它调用上一个命令的最后一个参数。
它不适用于gnome-terminal 中的cp
命令。在我创建文件夹和/或使用 $_ 文件mv
时发生这种情况,如下所示mv
cp
mkdir test
cp file.c $_
它不是将文件复制到目标,而是在当前目录中创建一个名为_filedir
.
mv
命令也会发生同样的情况
mkdir test
mv file.c $_
它不是将文件移动到目的地,而是移动名称_filedir
。
为了找到问题,我使用 echo
$ mkdir test
$ echo $_
_filedir
为什么 $_ 不能与 cp、mv 命令一起使用?
答案1
$_ - 给出前一个命令的最后一个参数。在 shell 启动时,它给出正在执行的 shell 脚本的绝对文件名。当你执行
mkdir test
mv file.c $_
检查你的mv、cp是否是别名
在 bash 中,要访问历史记录中上一个命令的最后一个参数,请使用 !:$ ,例如:
> mkdir test
> mv file.c !:$
mv file.c test