日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux如何调试脚本文件目录,如何在Linux下调试Bash Shell脚本的方法

發布時間:2025/3/17 linux 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux如何调试脚本文件目录,如何在Linux下调试Bash Shell脚本的方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

新手寫了一個 hello world 小腳本,如何能調試運行在 Linux 或者類 UNIX 的系統上的 bash shell 腳本呢?

這是 Linux / Unix 系統管理員或新用戶最常問的問題。shell 腳本調試可能是一項繁瑣的工作(不容易閱讀)。調試 shell 腳本有多種方法。

您需要傳遞-x或-v參數,以在 bash shell 中瀏覽每行代碼。

讓我們看看如何使用各種方法調試 Linux 和 UNIX 上運行的腳本。

-x 選項來調試腳本

用 -x 選項來運行腳本:

$ bash -x fcbu.com.sh

使用 set 內置命令

bash shell 提供調試選項,可以打開或關閉使用 set 命令:

set -x : 顯示命令及其執行時的參數。

set -v : 顯示 shell 輸入行作為它們讀取的

可以在 shell 腳本本身中使用上面的兩個命令:

#!/bin/bash

# turn on debug mode

set -x

for f in *

do

file $f

done

# turn OFF debug mode

set +x

ls

在腳本的起始位置可以用以下代碼調試:

#!/bin/bash -xv

使用bash智能調試功能

首先添加一個叫做 _DEBUG 的特殊變量。當你需要調試腳本的時候,設置 _DEBUG 為 on:

在腳本的開頭放置以下賦值和函數:

_DEBUG="on"

function DEBUG()

{

[ "$_DEBUG" == "on" ] &&? $@

}

現在,只要你需要調試,只需使用 DEBUG 函數如下:

DEBUG echo "File is $filename"

或者:

DEBUG set -x

Cmd1

Cmd2

DEBUG set +x

當調試完(在移動你的腳本到生產環境之前)設置 _DEBUG為off或非 'on' 的任何字符。不需要刪除調試行。

示例腳本:

#!/bin/bash

_DEBUG="on"

function DEBUG()

{

[ "$_DEBUG" == "on" ] &&? $@

}

DEBUG echo 'Reading files'

for i in *

do

grep 'something' $i > /dev/null

[ $? -eq 0 ] && echo "Found in $i file"

done

DEBUG set -x

a=2

b=3

c=$(( $a + $b ))

DEBUG set +x

echo "$a + $b = $c"

保存并關閉文件。運行腳本如下輸出:

Reading files

Found in xyz.txt file

+ a=2

+ b=3

+ c=5

+ DEBUG set +x

+ '[' on == on ']'

+ set +x

2 + 3 = 5

現在設置 _DEBUG 為 off(你需要編輯該文件):

_DEBUG="off"

運行腳本,輸出:

Found in xyz.txt file

2 + 3 = 5

以上是一個簡單但非常有效的技術。還可以嘗試使用 DEBUG 作為別名而不是函數。

新人創作打卡挑戰賽發博客就能抽獎!定制產品紅包拿不停!

總結

以上是生活随笔為你收集整理的linux如何调试脚本文件目录,如何在Linux下调试Bash Shell脚本的方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。