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

歡迎訪問 生活随笔!

生活随笔

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

linux

如何在 Linux 中启用 Shell 脚本的调试模式

發布時間:2025/3/20 linux 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 如何在 Linux 中启用 Shell 脚本的调试模式 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

腳本是存儲在一個文件的一系列命令。在終端上輸入一個個命令,按順序執行的方法太弱了,使用腳本,系統中的用戶可以在一個文件中存儲所有命令,反復調用該文件多次重新執行命令。

在學習腳本或寫腳本的初期階段,我們通常從寫小腳本或者幾行命令的短腳本開始,調試這樣的腳本時我們通常無非就是通過觀察它們的輸出來確保其正常工作。

然而,當我們開始寫非常長或上千行命令的高級腳本,例如改變系統設置的腳本,在網絡上執行關鍵備份?等等,我們會意識到僅僅看腳本輸出是不足以在腳本中找到 Bug 的!

因此,在 Linux 系列中這篇介紹 Shell 腳本調試, 我們將看看如何啟用 Shell 腳本調試,然后在之后的系列中解釋不同的 Shell 腳本調試模式以及如何使用它們。

如何開始寫一個腳本

一個腳本與其它文件的區別是它的首行,它包含?#!?(She-Bang -?釋伴:定義文件類型)和路徑名(解釋器路徑),通知系統該文件是一個命令集合,將被指定程序(解釋器)解釋。

下面是不同類型腳本?首行?示例:

  • #!/bin/sh [sh 腳本]
  • #!/bin/bash [bash 腳本]
  • #!/usr/bin/perl [perl 程序]
  • #!/bin/awk -f [awk 腳本]
  • 注意:如果腳本僅包含一組標準系統命令,沒有任何內部 Shell 指令,首行或?#!?可以去掉。

    如何在 Linux 操作系統執行 Shell 腳本

    調用一個腳本腳本的常規語法是:

  • $ 腳本名 參數1 ... 參數N
  • 另一種可能的形式是明確指定將執行這個腳本的 Shell,如下:

  • $ shell 腳本名 參數1 ... 參數N
  • 示例:

  • $ /bin/bash 參數1 ... 參數N [bash 腳本]
  • $ /bin/ksh 參數1 ... 參數N [ksh 腳本]
  • $ /bin/sh 參數1 ... 參數N [sh 腳本]
  • 對于沒有?#!?作為首行,僅包含基礎系統命令的腳本,示例如下:

  • ### 腳本僅包含標準系統命令
  • cd /home/$USER
  • mkdir tmp
  • echo "tmp directory created under /home/$USER"
  • 使它可執行并運行,如下:

  • $ chmod +x 腳本名
  • $ ./腳本名
  • 啟用 Shell 腳本調試模式的方法

    下面是主要的 Shell 腳本調試選項:

    • -v?(verbose 的簡稱) - 告訴 Shell 讀取腳本時顯示所有行,激活詳細模式。
    • -n?(noexec 或 no ecxecution 簡稱) - 指示 Shell 讀取所有命令然而不執行它們,這個選項激活語法檢查模式。
    • -x?(xtrace 或 execution trace 簡稱) - 告訴 Shell 在終端顯示所有執行的命令和它們的參數。 這個選項是啟用 Shell 跟蹤模式。

    1、 改變 Shell 腳本首行

    第一個機制是改變 Shell 腳本首行,如下,這會啟動腳本調試。

  • #!/bin/sh 選項
  • 其中, 選項可以是上面提到的一個或多個調試選項。

    2、 調用 Shell 調試選項

    第二個是使用如下調試選項啟動 Shell,這個方法也會打開整個腳本調試。

  • $ shell 選項 參數1 ... 參數N
  • 示例:

  • $ /bin/bash 選項 參數1 ... 參數N
  • 3、 使用 Shell 內置命令 set

    第三個方法是使用內置命令?set?去調試一個給定的 Shell 腳本部分,如一個函數。這個機制是重要的,因為它讓我們可以去調試任何一段 Shell 腳本。

    我們可以如下使用?set?命令打開調試模式,其中選項是之前提到的所有調試選項。

  • $ set 選項
  • 啟用調試模式:

  • $ set -選項
  • 禁用調試模式:

  • $ set +選項
  • 此外,如果我們在 Shell 腳本不同部分啟用了幾個調試模式,我們可以一次禁用所有調試模式,如下:

  • $ set -
  • 關于啟用 Shell 腳本調試模式,先講這些。正如我們看到的,我們可以調試一整個 Shell 腳本或者特定部分腳本。

    在此系列下面的兩篇文章中,我們會舉例介紹如何使用 Shell 腳本調試選項,進一步了解?詳細verbose、語法檢查syntax checking、?跟蹤tracing調試模式。

    原文發布時間為:2017-12-11

    本文來自云棲社區合作伙伴“Linux中國”

    總結

    以上是生活随笔為你收集整理的如何在 Linux 中启用 Shell 脚本的调试模式的全部內容,希望文章能夠幫你解決所遇到的問題。

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