您好,登錄后才能下訂單哦!
本篇內容主要講解“怎么在Linux中啟用Shell腳本的調試模式”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“怎么在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 -
到此,相信大家對“怎么在Linux中啟用Shell腳本的調試模式”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。