shell腳本調試
最簡單的調試命令當然是使用echo命令。您可以使用echo在任何懷疑出錯的地方列印任何變數值。這也是絕大多數的shell程序員要花費80%的時間來調試程序的原因。Shell程序的好處在於不需要重新編譯,插入一個echo命令也不需要多少時間。
shell也有一個真實的調試模式。如果在腳本"strangescript" 中有錯誤,您可以這樣來進行調試:
sh -x strangescript
這將執行該腳本並顯示所有變數的值。
shell還有一個不需要執行腳本只是檢查語法的模式。可以這樣使用:
sh -n your_script
這將返回所有語法錯誤。
linux/unix shell l腳本調試方法
Shell提供了一些用於調試腳本的選項,如下所示:
-n
讀一遍腳本中的命令但不執行,用於檢查腳本中的語法錯誤
-v
一邊執行腳本,一邊將執行過的腳本命令列印到標准錯誤輸出
-x
提供跟蹤執行信息,將執行的每一條命令和結果依次列印出來
使用這些選項有三種方法,一是在命令行提供參數
$ sh -x ./script.sh二是在腳本開頭提供參數
#! /bin/sh -x第三種方法是在腳本中用set命令啟用或禁用參數
#! /bin/sh
if [ -z "$1" ]; then
set -x
echo "ERROR: Insufficient Args."
exit 1
set +x
fiset -x和set +x分別表示啟用和禁用-x參數,這樣可以只對腳本中的某一段進行跟蹤調試。
㈡ 如何調試shell腳本各種方法都說說。
方法一:sh -x script.sh
-x選項會將運行到的腳本內容顯示在屏幕上,前面有個+號。這樣就知道哪句被執行到了。對調試很有幫助。
方法二:在腳本中使用debug開關
適用於只調試部分腳本的情況。
set -x
......(要調試的代碼段)
set +x
然後sh script.sh運行腳本
方法三:在腳本中添加列印
比如搞個log輸出函數,專門用於列印調試相關信息。
_log()
{
if [ "$_DEBUG" = "true" ]; then
echo "調試信息"
fi
}
只要在外面控制$_DEBUG開關即可。
㈢ 可調試 shell腳本有什麼ide,或者ide中的插件是什麼
http://tieba..com/p/2316624345
㈣ shell 腳本怎麼調 shell
最簡單的調試命令當然是使用echo命令。您可以使用echo在任何懷疑出錯的地方列印任何變數值。這也是絕大多數的shell程序員要花費80%的時間來調試程序的原因。Shell程序的好處在於不需要重新編譯,插入一個echo命令也不需要多少時間
shell也有一個真實的調試模式。如果在腳本"strangescript" 中有錯誤,您可以這樣來進行調試:
sh -x
strangescript
這將執行該腳本並顯示所有變數的值。
shell還有一個不需要執行腳本只是檢查語法的模式。可以這樣使用:
sh -n your_script
這將返回所有語法錯誤。
linux/unix shell l腳本調試方法
Shell提供了一些用於調試腳本的選項,如下所示:
-n
讀一遍腳本中的命令但不執行,用於檢查腳本中的語法錯誤
-v
一邊執行腳本,一邊將執行過的腳本命令列印到標准錯誤輸出
-x
提供跟蹤執行信息,將執行的每一條命令和結果依次列印出來
使用這些選項有三種方法,一是在命令行提供參數
$ sh -x ./script.sh二是在腳本開頭提供參數
#! /bin/sh -x第三種方法是在腳本中用set命令啟用或禁用參數
#! /bin/sh
if [ -z "$1" ]; then
set -x
echo "ERROR: Insufficient
Args."
exit 1
set +x
㈤ 如何在 Shell 腳本中執行語法檢查調試模式
使用bash -x 腳本文件名
例如:腳本文件whi.sh
#!/bin/bash
COUNTER=0
while[$COUNTER-lt3];do
echoThecounteris$COUNTER
COUNTER=`echo$COUNTER+1|bc`
done
正常調用和調試模式對比:
㈥ 如何調試BeanShell腳本
vars.get(變數名):獲取定義變數對應的值,含BeanShell腳本生成變數;
vars.put(變數名,變數值):生成新的變數或修改已存在的變數;
props.get(變數名):獲取jmeter.properties中定義變數對應值;
㈦ 如何在vim中調試shell腳本
這個可能沒法做到,shell腳本的作用是把一些需要用戶執行的命令結合起來自動運行
但是vim是編輯文件的命令,既然你需要編輯文件,那為什麼還需要shell執行呢
㈧ 如何調試Shell腳本
1) 檢查語法錯誤:
一般來說我們可以通過修改shell腳本的源代碼,令其輸出相關的調試信息來定位錯誤,那有沒有不修改源代碼來調試shell腳本的方法呢?答案就是使用shell的執行選,下面是一些常用選項的用法:
-n 只讀取shell腳本,但不實際執行
-x 進入跟蹤方式,顯示所執行的每一條命令
-c "string" 從strings中讀取命令「-n」可用於測試shell腳本是否存在語法錯誤,但不會實際執行命令。在shell腳本編寫完成之後,實際執行之前,首先使用「-n」選項來測試腳本是否存在語法錯誤是一個很好的習慣。因為某些shell腳本在執行時會對系統環境產生影響,比如生成或移動文件等,如果在實際執行才發現語法錯誤,您不得不手工做一些系統環境的恢復工作才能繼續測試這個腳本。「-c」選項使shell解釋器從一個字元串中而不是從一個文件中讀取並執行shell命令。當需要臨時測試一小段腳本的執行結果時,可以使用這個選項,如下所示:
sh -c 'a=1;b=2;let c=$a+$b;echo "c=$c"'"-x"選項可用來跟蹤腳本的執行,是調試shell腳本的強有力工具。「-x」選項使shell在執行腳本的過程中把它實際執行的每一個命令行顯示出來,並且在行首顯示一個"+"號。 "+"號後面顯示的是經過了變數替換之後的命令行的內容,有助於分析實際執行的是什麼命令。 「-x」選項使用起來簡單方便,可以輕松對付大多數的shell調試任務,應把其當作首選的調試手段。2) 調試工具-bashdb
使用shell調試器bashdb,這是一個類似於GDB的調試工具,可以完成對shell腳本的斷點設置,單步執行,變數觀察等許多功能。使用bashdb進行debug的常用命令
1.列出代碼和查詢代碼類:
l 列出當前行以下的10行
- 列出正在執行的代碼行的前面10行
. 回到正在執行的代碼行
w 列出正在執行的代碼行前後的代碼
/pat/ 向後搜索pat
?pat?向前搜索pat2.Debug控制類:h 幫助help 命令 得到命令的具體信息
q 退出bashdb
x 算數表達式 計算算數表達式的值,並顯示出來
!!空格Shell命令 參數 執行shell命令
使用bashdb進行debug的常用命令(cont.)
控制腳本執行類:
n 執行下一條語句,遇到函數,不進入函數裡面執行,將函數當作黑盒
s n 單步執行n次,遇到函數進入函數裡面
b 行號n 在行號n處設置斷點
del 行號n 撤銷行號n處的斷點
c 行號n 一直執行到行號n處R 重新啟動Finish 執行到程序最後
㈨ Linux如何用腳本控制調試
是用GDB調試嗎?熟練了自然就效率高了。
調試只能人為,因為需要在你懷疑的地方設斷點讓程序暫停運行,並查看你所關注的關鍵變數的當前值及函數調用棧。
如果用腳本,腳本需要了解你的意圖,就需要你提前設定好調試的條件,而且腳本本身又是需要調試的,這又何苦呢。
㈩ shell 腳本如何進行調試
Shell提供了一些用於調試腳本的選項,如:
1.-n :讀一遍腳本中的命令但不執行,用於檢查腳本中的語法錯誤。
2.-v :一邊執行腳本,一邊將執行過的腳本命令列印到標准錯誤輸出。
3.-x :提供跟蹤執行信息,將執行的每一條命令和結果依次列印出來。該選項有三種常見的使用方法:
1.在命令行提供參數。如:itcast@itcast$ sh -x ./script.sh
2.在腳本開頭提供參數。如:#! /bin/sh -x
在腳本中用set命令啟用或禁用參數。如:set -x 和 set +x分別表示啟用和禁用-x參數,這樣可以只對腳本中的某一段進行跟蹤調試。
學會了嗎?我也是在黑馬程序員學了C之後會的,現在已經工作了,工資15K,福利待遇挺好的。