日期:2014-05-16  浏览次数:20993 次

Linux rm 删除是否成功,怎么判断
大家好,我写了一个shell脚本,要删除很多文件,必须要精确删除。

导师说 rm -rf filename 还不一定能够删除文件,所以我要捕获删除的结果。 问题是,我怎么判断是否删除成功了呢?

rm好像没有什么返回值,有人说根据什么进程判断,大家有这方面的经验吗

------解决方案--------------------
echo $?
如果为 0,表示删除成功
------解决方案--------------------
约定俗成的是:命令成功运行返回0,失败时返回码对应的情况不要做任何假定为好。
------解决方案--------------------
一种是 用$?判断返回内容
一种是 用if [ -e $yourfile ] 判断文件是否存在
------解决方案--------------------
因为权限的问题,所以你不一定能够删除文件,你可以判断那个文件还在不在就可以了。rm失败总是会有控制台打印信息的
------解决方案--------------------
用echo$?如果是0就成功。。否则失败。。这个还不能。。但是如果真要那样做的。。可以写一个c程序。用system来执行命令,就可以根据返回值判断原因了。。。
------解决方案--------------------
在脚本里删除文件后加入。 
if [ $? -ne 0 ]; then
echo "Delete file failed!"
exit 5
fi
------解决方案--------------------
探讨

一种是 用$?判断返回内容
一种是 用if [ -e $yourfile ] 判断文件是否存在

------解决方案--------------------
rm -rf 肯定不会显示结果。我觉得用rm -ri用交互式删除。然后用ls查看