Linux Shell 程式除錯

2021-09-20 20:23:13 字數 1693 閱讀 7686

linux shell程式除錯

shell程式的除錯是通過執行程式時加入相關除錯選項或在指令碼程式中加入相關語句,讓shell程式在執行過程中顯示出一些可供參考的「除錯資訊」。當然,使用者也可以在shell程式中的適當位置加入一些echo命令用於除錯與跟蹤。

方法一:在執行指令碼程式時加入除錯選項:

【用法】bash –選項./shellscript.sh

幾個常用的除錯選擇項如下:
-e :如果乙個命令返回乙個非0退出狀態值(失敗),就退出。
-n : 。
-u : 置換時把未設定的變數看作出錯。
-v : 當讀入shell輸入行時,把它們顯示出來。
-x : 執行命令時,把命令和它們的引數顯示出來。

方法二:在指令碼程式中通過set命令除錯程式:

【用法】set –選項set +選項#set命令的常用選項同上

以在shell程式內部用「set -選擇項」的形式引用,而「set +選擇項」則將禁止該選擇項起作用。如果只想對程式的某一部分使用某些選擇項時,則可以將該部分用上面兩個語句包圍起來。

(1)未置變數退出(-u)和立即退出(-e)

未置變數退出特性允許使用者對所有變數進行檢查,如果引用了乙個未賦值的變數就終止shell程式的執行。shell通常允許未置變數的使用,在這種情況下,變數的值為空。如果設定了未置變數退出選擇項,則一旦使用了未置變數就顯示錯誤資訊,並終止程式的執行。未置變數退出選擇項為-u。

當shell執行時,若遇到不存在或不可執行的命令、重定向失敗或命令非正常結束等情況時,如果未經重新定向,該出錯資訊會顯示在終端螢幕上, 而shell程式仍將繼續執行。要想在錯誤發生時迫使shell程式立即結束,可以使用-e選項將shell程式的執行立即終止。

(2)shell程式的跟蹤(-v或-x)

除錯shell程式的主要方法是利用shell命令解釋程式的-v或-x選項來跟蹤程式的執行。-v選擇項使shell在執行程式的過程中,把它讀入的每乙個命令列都顯示出來,而-x選擇項使shell在執行程式的過程中把它執行的每乙個命令在行首用乙個+加上命令名顯示出來。並把每乙個變數和該變數所取的值也顯示出來。

因此,它們的主要區別在於:在執行命令列之前無-v,則顯示出命令列的原始內容,而有-v時則顯示出經過替換後的命令列的內容。

linux

shell

程式除錯

LInux shell入門 除錯

shell的除錯 sh option bash option echo 輸出內容 list color red e 如果乙個命令失敗就立即退出 color shell執行時,若遇到不存在或不可執行的命令 重定向失敗或命令非正常結束等情況時,如果未經重新定向,該出錯資訊會顯示在終端螢幕上,而shell...

linux shell指令碼除錯小技巧

之前在寫shell指令碼時,每次除錯指令碼非常麻煩。過程如下 寫指令碼 執行指令碼 指令碼語法有問題 找到報錯的行 修改後繼續執行指令碼 指令碼中部分 報錯還能繼續執行 再次除錯指令碼 直到指令碼正常執行。下面介紹幾個實用的小技巧 1 不加nounset root lineqi cat testjs...

linux shell 監測程式

一。探查程序 ps 在預設情況下只顯示執行在當前控制台下的當前使用者的程序。linux 下支援3個不同型別的命令引數 1.unix風格,前面加單破折線 2.bsd風格,前面不加破折線 3.gun風格,前面加雙破折線 unix a 顯示的所有程序 n 顯示與引數不符的所有程序 d 顯示除控制程序外的所...