當前位置:首頁 » 編程軟體 » 調試shell腳本

調試shell腳本

發布時間: 2022-01-08 20:31:14

① 如何調試linux 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 腳本怎麼調 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腳本

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 執行到程序最後

④ 如何在 Shell 腳本中執行語法檢查調試模式

使用bash -x 腳本文件名

例如:腳本文件whi.sh

#!/bin/bash
COUNTER=0
while[$COUNTER-lt3];do
echoThecounteris$COUNTER
COUNTER=`echo$COUNTER+1|bc`
done

正常調用和調試模式對比:

⑤ 如何調試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腳本中的命令執行

shell 跟蹤簡單的來說就是跟蹤 shell 腳本中的命令的執行。 要打開 shell 跟蹤,請使用 -x 調試選項。 這會讓 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 執行到程序最後

⑨ 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,福利待遇挺好的。

⑩ 如何在vim中調試shell腳本

這個可能沒法做到,shell腳本的作用是把一些需要用戶執行的命令結合起來自動運行
但是vim是編輯文件的命令,既然你需要編輯文件,那為什麼還需要shell執行呢

熱點內容
php字元串引號 發布:2024-09-21 08:17:03 瀏覽:783
androidduration 發布:2024-09-21 08:17:03 瀏覽:402
大話西遊2華山論劍什麼時候開的伺服器 發布:2024-09-21 08:00:15 瀏覽:530
編程馬鞍數 發布:2024-09-21 07:48:32 瀏覽:726
新建文件夾dos命令 發布:2024-09-21 07:44:13 瀏覽:131
舞蹈解壓介紹 發布:2024-09-21 07:40:04 瀏覽:973
qq如何顯示密碼 發布:2024-09-21 07:22:26 瀏覽:566
安卓導航如何調大mlc音量 發布:2024-09-21 06:59:21 瀏覽:34
洛奇解壓中發生錯誤 發布:2024-09-21 06:53:30 瀏覽:293
解壓球是什麼 發布:2024-09-21 06:53:29 瀏覽:539