![](/img/trans.png)
[英]My mv command is showing no such file or directory when renaming a file
[英]When using “mv” command for moving and renaming, script sees it as a directory instead of new filename
我对mv
命令有疑问。
为了移动和重命名文件,我做mv file someDir/File2
在我的终端和它移动文件到someDir
与所谓的新名字File2
。
但是,当我使用Shell脚本执行此操作时,它将File2
部分视为目录,而不是文件的新名称。
所以我有两个变量, NEWDir=newDir
, NEWF=newName
for i in *.txt ; do
mv $i $NEWDIR/$NEWF
done
我运行此脚本,它显示以下内容:
mv: target 'newName' is not a directory.
mv
仅在给出多个source参数的情况下才要求目标为目录。
在这种情况下,这可能是由于缺少引号导致变量被拆分而引起的。 在所有扩展名中使用双引号(如http://shellcheck.net/指示)。
for i in *.txt ; do
mv "$i" "$NEWDIR/$NEWF"
done
请注意,只有经过迭代的最后一个文件实际上会留下给定名称-其余文件将被其后继文件覆盖。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.