我试过搜索但找不到类似的问题。如果这是重复的,请告诉我,我很乐意将其删除。
我有一个脚本用于重命名循环内的文件,运行:
mv -vn "$file" $newname
if [ $? -eq 0 ]
then
*do something*
fi
我可以在屏幕-v
上看到xxx not overwritten
,但我正在尝试检测脚本是否由于已存在同名文件而未重命名文件。
mv
实用程序在成功时退出0
,无论文件是否重命名都是如此。
任何指针?
答案 0 :(得分:1)
您可以检查文件是否存在,如果不重命名:
test -e $newname || mv $file $newname
如果你需要消息说xxx没有被覆盖:
test -e $newname && echo "$newname not overwritten" || mv $file $newname