当前位置: 技术问答>linux和unix
Linux rm 删除是否成功,怎么判断
来源: 互联网 发布时间:2017-02-16
本文导语: 大家好,我写了一个shell脚本,要删除很多文件,必须要精确删除。 导师说 rm -rf filename 还不一定能够删除文件,所以我要捕获删除的结果。 问题是,我怎么判断是否删除成功了呢? rm好像没有什么返回值,有...
大家好,我写了一个shell脚本,要删除很多文件,必须要精确删除。
导师说 rm -rf filename 还不一定能够删除文件,所以我要捕获删除的结果。 问题是,我怎么判断是否删除成功了呢?
rm好像没有什么返回值,有人说根据什么进程判断,大家有这方面的经验吗
导师说 rm -rf filename 还不一定能够删除文件,所以我要捕获删除的结果。 问题是,我怎么判断是否删除成功了呢?
rm好像没有什么返回值,有人说根据什么进程判断,大家有这方面的经验吗
|
在脚本里删除文件后加入。
if [ $? -ne 0 ]; then
echo "Delete file failed!"
exit 5
fi
if [ $? -ne 0 ]; then
echo "Delete file failed!"
exit 5
fi
|
$?必须要跟在rm后面 而且还可能有些未知错误 我觉得还是利用楼上的生成一个log比较好 然后手动检查吧
|
echo $?
如果为 0,表示删除成功
如果为 0,表示删除成功
|
约定俗成的是:命令成功运行返回0,失败时返回码对应的情况不要做任何假定为好。
|
一种是 用$?判断返回内容
一种是 用if [ -e $yourfile ] 判断文件是否存在
一种是 用if [ -e $yourfile ] 判断文件是否存在
|
因为权限的问题,所以你不一定能够删除文件,你可以判断那个文件还在不在就可以了。rm失败总是会有控制台打印信息的
|
用echo$?如果是0就成功。。否则失败。。这个还不能。。但是如果真要那样做的。。可以写一个c程序。用system来执行命令,就可以根据返回值判断原因了。。。
|
rm -rf 肯定不会显示结果。我觉得用rm -ri用交互式删除。然后用ls查看