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

在目录中,我要将文件移出2个目录,即php和php.tmp。我得到的错误是cd: /path/to/working/directory/php: No such file or directory。我很困惑,因为它是从ls工作目录开始并列出的。

我得到的错误在这里:

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/

关于linux - Shell脚本mv抛出无用的错误 “No such file or directory”,即使我看到了它,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41666381/

10-15 11:23