shell指令碼除錯方法

2021-06-13 03:25:00 字數 597 閱讀 2023

shell指令碼的三種除錯方法:-n

讀一遍指令碼中的命令但不執行,用來檢查指令碼中的語法錯誤

-v一邊執行指令碼,一邊將執行過的指令碼命令列印到標準輸出端

-x提供跟蹤執行資訊,將執行的每一條命令和結果一次列印出來

這應該就像c語言的gdb一樣有用吧,有助於檢查錯誤

使用這些選項有三種方法

1.在命令列提供引數:$sh -x script.sh

2.指令碼開頭提供引數:#!/bin/sh -x

3.在指令碼中用set命令啟用or禁用引數:其中set -x表啟用,set +x表禁用

另:在寫指令碼的時候,需特別注意新增

空格或換行或分號

eg   text命令:  $[ 5 -lt 10 ]左方括號後須有空格,右方括號前也須有空格

shell指令碼中函式定義: foo() {後須有空格或換行

shell指令碼中,若同一行內寫有兩條命令須加分號

與c語言不同的是,shell指令碼中,

返回值0錶真,1表假。

shell 指令碼列印行號除錯:

$lineno

e.g

ehco $lineno

shell指令碼除錯方法

在程式設計過程中難免會出錯,有的時候,除錯程式比編寫程式花費的時間還要多,shell程式同樣如此。shell程式的除錯主要是利用bash命令解釋程式的選擇項。呼叫bash的形式是 bash 選擇項 shell程式檔名 幾個常用的選擇項是 e 如果乙個命令失敗就立即退出 n 讀入命令但是不執行它們 u...

Shell指令碼的除錯方法

shell提供了一些用於除錯指令碼的選項,如下所示 n讀一遍指令碼中的命令但不執行,用於檢查指令碼中的語法錯誤 v一邊執行指令碼,一邊將執行過的指令碼命令列印到標準錯誤輸出 x提供跟蹤執行資訊,將執行的每一條命令和結果依次列印出來 使用這些選項有三種方法,一是在命令列提供引數 sh x script...

Shell指令碼的除錯方法

shell提供了一些用於除錯指令碼的選項,如下所示 n讀一遍指令碼中的命令但不執行,用於檢查指令碼中的語法錯誤 v一邊執行指令碼,一邊將執行過的指令碼命令列印到標準錯誤輸出 x提供跟蹤執行資訊,將執行的每一條命令和結果依次列印出來 使用這些選項有三種方法,一是在命令列提供引數 sh x script...