有時(shí)候,我們寫的腳本中有一些錯(cuò)誤。我們修改錯(cuò)誤,運(yùn)行腳本,但系統(tǒng)再次報(bào)錯(cuò)。并且這個(gè)改錯(cuò)報(bào)錯(cuò)的過程可能會(huì)發(fā)生很多次。碰到這些情況,首先需要找到有問題的行或命令,這可以通過一些調(diào)試語句來輕松做到。一旦發(fā)現(xiàn)這條語句,嘗試在命令提示符下執(zhí)行相同的語句。如果它在命令提示符下開始正常運(yùn)行,你就可以容易的推斷出它不能正常運(yùn)行的原因了。可能是由于某些錯(cuò)誤輸入的命令,或者是某些環(huán)境變量不匹配,或者是從不同的地方引用了某個(gè)二進(jìn)制文件等等。這種方法會(huì)讓調(diào)試變得簡單易行。
3、考慮問題要全面
現(xiàn)在我們來看個(gè)問題。你想到了關(guān)于某個(gè)問題的解決方案,但這個(gè)解決方案只適用于處理小型文件。可是當(dāng)處理比較大的文件時(shí),你該怎么辦?舉個(gè)例子,我們想要得到一個(gè)文件的第一行內(nèi)容:
sed -n '1p' file
這條語句當(dāng)然會(huì)給出你想要的第一行內(nèi)容。可是如果處理的文件包含上百萬條記錄呢?盡管上面的那條sed命令可以輸出文件的第一行內(nèi)容,但是想要處理大型文件一定會(huì)帶來性能上的問題。
解決辦法:
sed -n '1p;1q' file
這條命令將只輸出第一行,同時(shí)退出程序。新聞熱點(diǎn)
疑難解答
圖片精選