我現在的shell腳本是這樣的:Shell腳本幫助,如何跳過錯誤報告文件?
for i in *.pdf
do
convert -density 400 $i -depth 8 ${i/pdf/jpg}
done
for j in *.jpg
do
tesseract -l eng $j ${j/.jpg}
rm $j
mv ${j}.txt textfile
done
那麼它大概做的是,爲每一個PDF文件,它把它轉換成JPG文件,併爲我用的Tesseract將其轉換爲原始的每一個JPG文件文本文件。從pdf轉換爲jpg沒有任何錯誤,但tesseract可能會報告錯誤,例如:「由於已加入而取消了長度爲0的重複」。我的腳本從那裏停止... 是否有辦法讓我的腳本儘可能地跳過,只要它看到某種錯誤報告?所以我不需要轉錄損壞的jpg文件並想跳過它們。 任何形式的幫助,將不勝感激!
所以我寫的[$? != 0]部分在我的代碼? – Sardonic 2013-04-25 02:35:21
在這種情況下,用於非字符串比較的正確比較運算符將是'-ne'而不是'!='。同樣在#更傳統的情況下,退出代碼必須保存在'if [$? -ne 0]',因爲'$?'的值將由[[$?]的退出碼設置。 -ne 0]',所以它總是'0' – Alex 2013-04-25 02:57:34