分页: 1 / 1

有个问题想询问下,有关监测命令错误的

发表于 : 2012-04-01 10:23
chengmoYS
我写了个小脚本
我把光驱mount到某个目录
把光驱挂载的目录下所有的普通文件,块文件,字符文件的相对路径输出到一个文件中
然后使用cat读取这个文件,使用md5sum生成这个文件中每个文件的md5值

find ./ -type f -o -type b -o -type c | sort > "${TEMP}"/"${TEST}"\.source\.output2

cat "${TEMP}"/"${TEST}"\.source\.output2 | xargs /usr/bin/md5sum > "${TEMP}"/"${TEST}"\.source\.output2\.md5

问题是这个样子
当光驱有问题时,确实挂载了,但是读取文件时,会出现input/output error。
所以执行cat "${TEMP}"/"${TEST}"\.source\.output2 | xargs /usr/bin/md5sum > "${TEMP}"/"${TEST}"\.source\.output2\.md5会出现很多input/output error

如果执行这句出现了input/output error我就想退出这个语句,文件中的随后的文件就不用md5sum生成md5sum。

有什么方法实现,可以告诉我如何实现吗

Re: 有个问题想询问下,有关监测命令错误的

发表于 : 2012-04-01 10:29
chengmoYS
假设那个文件有1000个
我执行md5sum也许第一个或者第n个才出现错误
我希望 一出现错误 就退出 这个语句 直接可以得到语句命令执行失败

Re: 有个问题想询问下,有关监测命令错误的

发表于 : 2012-04-01 10:33
枫叶饭团
|| ←_←

Re: 有个问题想询问下,有关监测命令错误的

发表于 : 2012-04-01 11:05
chengmoYS
如果实在没有简便的方法 只能用

while read LINE
do
/usr/bin/md5sum "${LINE}" >> "${TEMP}"/"${TEST}"\.source\.output2\.md5
if [ $? -eq 0 ]
then
continue
else
echo "Input/Output error"
echo "Failure: there are something wrong with optical device or compact disc"
break
fi
done < "${TEMP}"/"${TEST}"\.source\.output2

Re: 有个问题想询问下,有关监测命令错误的

发表于 : 2012-04-01 11:30
枫叶饭团
用|| echo "error";exit 0 连接不行吗?