我一直在使用一段時間的計算器,但只是現在註冊了一個問題。Bash腳本變量和xmllint - 針對多個xsd xml文件進行驗證 - 使用輸出if if
我有幾個xsd文件和xml文件,我需要驗證。當我運行在單獨的文件xmllint命令驗證工作完全正常:
xmllint --noout --schema Activity_date_1.xsd Activity_date_1.xml
我有一個具有相同名稱的開始,但對他們有不同的日期(例如Activity_19_09_2015.xml)多個文件。 我怎麼能有一個腳本,檢查所有的文件,如果他們中的任何一個失敗,單獨顯示失敗的消息。
我已經做到了這一點,但它不完全是我想要的,除非它只是一個文件。
xmllint --noout --schema Activity_*.xsd Activity_*.xml >/dev/null 2>&1
xmllint --noout --schema Earning_*.xsd Earning_*.xml >/dev/null 2>&1
xmllint --noout --schema Rules_*.xsd Rules_*.xml >/dev/null 2>&1
OP=$?
if [ $OP -eq 0 ]
then
echo -e "\e[0;32;40mPassed Validation \e[0m"
else
echo -e "\e[0;31;40mFailed Validation \e[0m"
fi
我真的很感激任何幫助。
你真的對每個xml文件都有xsd文件嗎?難道你不想驗證所有的xmls針對同一個xsd文件嗎? –
可以請你發佈一個帶有文件的「ls」目錄嗎? –
是的,每個xml文件都有獨立的xsd文件。我不是開發人員,所以我不確定爲什麼或不是什麼,但是開發人員逐個手動進行驗證,這就是爲什麼我要創建一個腳本,以便逐個檢查所有文件。 – spiceitup