![](/img/trans.png)
[英]Getting "No such file or directory" error when using shell script even though directory successfully moved to target
[英]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.