繁体   English   中英

即使我看到它,shell 脚本 mv 也抛出了无用的错误“没有这样的文件或目录”

[英]shell script mv is throwing unhelpful error "No such file or directory" even though i see it

我需要使用 shell 脚本将目录中的所有文件移动到另一个目录中。 我手动执行此操作没有问题,现在编写脚本却在mv命令上给我一个错误。

在我想将文件移出的目录中有 2 个目录,php 和 php.tmp。 我得到的错误是cd: /path/to/working/directory/php: No such file or directory 我很困惑,因为当我进入工作目录时,它就在那里开始并列出。

我得到的错误在这里:

ls $PWD #ensure the files are there
mv $PWD/* /company/home/directory
ls /company/home/directory #ensure the files are moved

当我使用ls $PWD我看到了我想移动的目录,但之后的错误说它不存在。 然后,当我通过 ssh 连接到正在运行的机器时,我看到文件已正确移动。

如果重要的话,我从中移动文件的目录归其他用户所有,但 shell 以 root 身份执行。

我不明白为什么我会收到这个错误,任何帮助都会很棒。

在路径后添加一个/以指定要移动的文件,而不是重命名目录。

你应该试试这个:

mv $PWD/\*  /home/user/directory/

你的变量被正确引用了吗? 你可以试试:

ls "$PWD" #ensure the files are there
mv "$PWD"/* "/company/home/directory"
ls "/company/home/directory" #ensure the files are moved

如果您的任何文件或目录名称包含空格或制表符等字符,则您的“mv”命令可能没有看到您认为它看到的参数列表。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM