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

sh/bash/dash/ksh/zsh等Shell脚本
回复
chengmoYS
帖子: 125
注册时间: 2007-10-22 22:40

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

#1

帖子 chengmoYS » 2012-04-01 10:23

我写了个小脚本
我把光驱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。

有什么方法实现,可以告诉我如何实现吗
chengmoYS
帖子: 125
注册时间: 2007-10-22 22:40

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

#2

帖子 chengmoYS » 2012-04-01 10:29

假设那个文件有1000个
我执行md5sum也许第一个或者第n个才出现错误
我希望 一出现错误 就退出 这个语句 直接可以得到语句命令执行失败
头像
枫叶饭团
帖子: 14683
注册时间: 2010-06-16 1:05
系统: Mac OS X
来自: Tencent
联系:

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

#3

帖子 枫叶饭团 » 2012-04-01 10:33

|| ←_←
chengmoYS
帖子: 125
注册时间: 2007-10-22 22:40

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

#4

帖子 chengmoYS » 2012-04-01 11:05

如果实在没有简便的方法 只能用

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
头像
枫叶饭团
帖子: 14683
注册时间: 2010-06-16 1:05
系统: Mac OS X
来自: Tencent
联系:

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

#5

帖子 枫叶饭团 » 2012-04-01 11:30

用|| echo "error";exit 0 连接不行吗?
回复