bash - mv:无法重命名:没有这样的文件或目录。但是目录存在
问题描述
我正在尝试重命名 bash 脚本中的目录。我收到以下错误(文件路径已被替换):
mv: can't rename 'some/path': No such file or directory
这是我正在使用的代码:
if [ -d some/path ]; then
mv some/path other/path
fi
这是没有意义的,因为我事先检查了目录的存在。我还做了一个find . -print
列出当前工作目录中的所有文件和目录,并且所需的目录肯定存在。我知道区分大小写,并对所有路径进行了三次检查。任何想法为什么这不起作用?
解决方案
错误消息具有误导性。由于目标路径不存在,因此命令失败并出现错误。
这个改变对我有用:
if [ -d some/path ]; then
mkdir -p other/path
mv some/path/* other/path
fi
推荐阅读
- php - 在 laravel 中查询多对多多态关系
- node.js - mongoose 从集合中获取所有返回一个空列表
- laravel - 将 Laravel 项目上传到 Webuzo
- azure - Azure Blob 返回 403 禁止在门户上运行的 Azure 函数
- html - 仅在 Bootstrap 中的表格轮廓边框和列边框
- python - 在命令 discord.py 中投注“XP”
- c# - {"'\u0004',十六进制值0x04,是无效字符
- go - 没有 VCS/Git 的 Go 模块初始化失败,无法确定模块路径
- ruby-on-rails - 无法在 Rails 活动管理索引页面中显示多个属性(嵌套项)
- javascript - 提交后联系form7数据插入不同的数据库表