仅当文件存在于shell脚本中时才移动

时间:2015-10-29 12:50:24

标签: linux sh mv

作为备份脚本的一部分,我想在文件上调用mv来重命名它:

mv example.txt example2.txt

如果文件不存在,我收到错误:

mv: cannot stat ‘example.txt’: No such file or directory

如果文件已经存在,我该如何调用mv?

我真的不想将 stderr 重定向到dev/null,因为我非常希望保留其他任何错误。

3 个答案:

答案 0 :(得分:24)

您应该测试文件是否存在

if [ -f blah ]; then
   mv blah destination
fi

答案 1 :(得分:23)

一衬垫:

[ -f old ] && mv old nu

答案 2 :(得分:4)

即使找不到文件,此衬纸成功返回

[ ! -f src ] || mv src dest