我使用这个命令来测试我的 html 页面是否有错误:
find . -iname '*html' -type f -print -exec /usr/local/bin/tidy -q -e {} \;
如果 tidy 发现任何错误,我想获得退出代码 > 0。
find 总是返回我 0。
有没有办法从 tidy 总结退出代码,并从 find 或任何其他包装脚本返回它?
我使用这个命令来测试我的 html 页面是否有错误:
find . -iname '*html' -type f -print -exec /usr/local/bin/tidy -q -e {} \;
如果 tidy 发现任何错误,我想获得退出代码 > 0。
find 总是返回我 0。
有没有办法从 tidy 总结退出代码,并从 find 或任何其他包装脚本返回它?
你可以尝试这样的事情:
这只会打印出
tidy
以错误代码退出的文件名。您可以-fprint
用来收集文件中的文件名:这些构造利用
-exec
了布尔表达式这一事实,该表达式根据命令的成功返回真或假;该-o
标志是一个 booleanOR
,因此内容如下:查找与
*html
AND 匹配的所有条目,这些条目是文件 AND(tidy 返回 true 或打印文件名)尝试这个:
说明:您需要遍历
find
命令的结果, runtidy
,然后在发现错误时增加一个计数器(我假设tidy
会在错误时生成一个非零返回码)。一旦你遍历了文件,如果有任何错误,你可以
exit 1
,并且明确地表明exit 0
事情是否成功完成总是一个好习惯。