Linux Shell指令碼系列教程(七) 指令碼除錯

2022-09-26 16:39:21 字數 956 閱讀 3311

一、除錯指令碼

除錯功能是每一種程式語言都應該實現的重要特性之一,當出現一些始料未及的情況時,用它來生成指令碼的執行資訊,除錯資訊可以幫你弄清楚是什麼原因使得程式發生崩潰或者行為異常。

二、bash內建除錯功能

使用bash的內建除錯功能,可以對整個指令碼進行除錯,也可以僅對指令碼中的某些語句進行除錯。

#使用set -x和set +x對指令碼的某一句進行除錯

複製** **如下:

#!/bin/bash

for i in ;

do &nkpjtiraqhbsp;  set -x                         #開啟除錯功能

echo $i                        #要除錯的語句

set +x                         #關閉除錯功能

done

echo "script executed."

複製** **如下:

#使用 -x選項對整個指令碼進行除錯

bash -x s                  #等價於sh -x script.sh

kpjtiraqh三、 自定義除錯功能bash內建的除錯功能僅能輸出固定格式的除錯資訊,但在很多情況下,我們需要以自定義的www.cppcns.com格式顯示除錯資訊,這可以通過 _debug環程式設計客棧境變數來建立這類除錯風格。

複製** **如下:

#使用_debug=on bash script.sh執行下列指令碼

#!/bin/bash

function debug()

for i in

do    debug echo $i

done     

我們在每乙個需要列印除錯資訊的語句前面家debug,如果沒有把_debug=on傳遞個指令碼,那麼除錯資訊就不會列印出來。在bash中,:告訴shell不要進行任何操作。

本文位址:

Linux Shell指令碼系列之一

shell的分類 使用tab鍵 進行命令和檔案目錄的補全,若當前匹配的有多個則再摁多一次,則會列出所有匹配的檔案或目錄 輸入重定向 wc 選項 檔名 選項 c 統計位元組數 w 統計單詞數 l 統計行數 管道符命令1 命令2 命令1的正確輸出作為命令2的操作物件 舉個栗子3 萬用字元?匹配乙個任意字...

shell指令碼系列 grep用法總結

相信 grep 是unix 和linux 中使用最廣泛的命令之一。grep 全域性正規表示式版本 允許 對文字檔案進行模式查詢。如果找到匹配模式,grep 列印包含模式的所有行。grep 支援基本正 則表示式,也支援其擴充套件集。本文主要討論以下內容 grep 引數 選項。匹配grep的一般模式。只...

Python基本系列 1

python 裡面萬物皆物件 object 只要是物件,就有相應的屬性 attributes 和方法 methods 1 基本資料型別3種 整數 浮點數 布林 2 容器資料型別5種 字元 元組 列表 字典 集合 3 條件語句和迭代迴圈 if,if else,nested,while,for 4 函式...