我使用命令xmllint来验证Linux机器上的xml文件

我需要的是无提示模式,没有输出,而我的验证将仅使用退出代码($?)

正如我们在此处看到的,当xml错误时,即使设置了--noout标志,我在标准输出上也会出现错误

xmllint --noout CreDefault.XML
Default.XML:16: parser error : Opening and ending tag mismatch: Networks    line 6 and root
orrectiveActions/><fallback/></ErrorHandler></C></T><Vars/></G></Generic></ro   ot>
                                                                              ^
Default.XML:16: parser error : Premature end of data in tag root line 1
  orrectiveActions/><fallback/></ErrorHandler></C></T><Vars/></G></Generic></ro   ot>

是否可以将命令配置为静默模式?
这样我可以检查$吗?只要?

我需要的是:
xmllint --noout CreDefault.XML

echo $?

1

最佳答案

我看不到让xmllint保持沉默的任何方法,这意味着,如果您真的不想看到错误输出,则只需要自己重定向即可。

xmllint --noout CreDefault.XML 2>/dev/null

(从注释中的讨论中注意到,这在(t)csh shell中不起作用。)

10-07 21:44