成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

如何在Linux中啟用Shell腳本的調(diào)試模式

系統(tǒng) Linux 系統(tǒng)運(yùn)維
腳本是存儲(chǔ)在一個(gè)文件的一系列命令。在終端上輸入一個(gè)個(gè)命令,按順序執(zhí)行的方法太弱了,使用腳本,系統(tǒng)中的用戶可以在一個(gè)文件中存儲(chǔ)所有命令,反復(fù)調(diào)用該文件多次重新執(zhí)行命令。

[[179043]]

腳本是存儲(chǔ)在一個(gè)文件的一系列命令。在終端上輸入一個(gè)個(gè)命令,按順序執(zhí)行的方法太弱了,使用腳本,系統(tǒng)中的用戶可以在一個(gè)文件中存儲(chǔ)所有命令,反復(fù)調(diào)用該文件多次重新執(zhí)行命令。

在學(xué)習(xí)腳本或?qū)懩_本的初期階段,我們通常從寫小腳本或者幾行命令的短腳本開始,調(diào)試這樣的腳本時(shí)我們通常無非就是通過觀察它們的輸出來確保其正常工作。

然而,當(dāng)我們開始寫非常長(zhǎng)或上千行命令的高級(jí)腳本,例如改變系統(tǒng)設(shè)置的腳本,在網(wǎng)絡(luò)上執(zhí)行關(guān)鍵備份 等等,我們會(huì)意識(shí)到僅僅看腳本輸出是不足以在腳本中找到 Bug 的!

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

如何開始寫一個(gè)腳本

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

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

  1. #!/bin/sh          [sh 腳本] 
  2. #!/bin/bash        [bash 腳本]  
  3. #!/usr/bin/perl    [perl 程序] 
  4. #!/bin/awk -f      [awk 腳本]    

注意:如果腳本僅包含一組標(biāo)準(zhǔn)系統(tǒng)命令,沒有任何內(nèi)部 Shell 指令,首行或 #! 可以去掉。

如何在 Linux 操作系統(tǒng)執(zhí)行 Shell 腳本

調(diào)用一個(gè)腳本腳本的常規(guī)語(yǔ)法是:

  1. $ 腳本名 參數(shù)1 ... 參數(shù)N 

另一種可能的形式是明確指定將執(zhí)行這個(gè)腳本的 Shell,如下:

  1. $ shell 腳本名 參數(shù)1 ... 參數(shù)N 

示例:

  1. $ /bin/bash   參數(shù)1 ... 參數(shù)N     [bash 腳本] 
  2. $ /bin/ksh   參數(shù)1 ... 參數(shù)N      [ksh 腳本] 
  3. $ /bin/sh   參數(shù)1 ... 參數(shù)N       [sh 腳本] 

對(duì)于沒有 #! 作為首行,僅包含基礎(chǔ)系統(tǒng)命令的腳本,示例如下:

  1. ### 腳本僅包含標(biāo)準(zhǔn)系統(tǒng)命令 
  2. cd /home/$USER 
  3. mkdir tmp 
  4. echo "tmp directory created under /home/$USER" 

使它可執(zhí)行并運(yùn)行,如下:

  1. $ chmod +x  腳本名 
  2. $ ./腳本名  

啟用 Shell 腳本調(diào)試模式的方法

下面是主要的 Shell 腳本調(diào)試選項(xiàng):

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

1、 改變 Shell 腳本首行

***個(gè)機(jī)制是改變 Shell 腳本首行,如下,這會(huì)啟動(dòng)腳本調(diào)試。

  1. #!/bin/sh 選項(xiàng) 

其中, 選項(xiàng)可以是上面提到的一個(gè)或多個(gè)調(diào)試選項(xiàng)。

2、 調(diào)用 Shell 調(diào)試選項(xiàng)

第二個(gè)是使用如下調(diào)試選項(xiàng)啟動(dòng) Shell,這個(gè)方法也會(huì)打開整個(gè)腳本調(diào)試。

  1. $ shell 選項(xiàng) 參數(shù)1 ... 參數(shù)N 

示例:

  1. $ /bin/bash 選項(xiàng) 參數(shù)1 ... 參數(shù)N 

3、 使用 Shell 內(nèi)置命令 set

第三個(gè)方法是使用內(nèi)置命令 set 去調(diào)試一個(gè)給定的 Shell 腳本部分,如一個(gè)函數(shù)。這個(gè)機(jī)制是重要的,因?yàn)樗屛覀兛梢匀フ{(diào)試任何一段 Shell 腳本。

我們可以如下使用 set 命令打開調(diào)試模式,其中選項(xiàng)是之前提到的所有調(diào)試選項(xiàng)。

  1. set 選項(xiàng) 

啟用調(diào)試模式:

  1. set -選項(xiàng) 

禁用調(diào)試模式:

  1. set +選項(xiàng) 

此外,如果我們?cè)?Shell 腳本不同部分啟用了幾個(gè)調(diào)試模式,我們可以一次禁用所有調(diào)試模式,如下:

  1. set - 

關(guān)于啟用 Shell 腳本調(diào)試模式,先講這些。正如我們看到的,我們可以調(diào)試一整個(gè) Shell 腳本或者特定部分腳本。

在此系列下面的兩篇文章中,我們會(huì)舉例介紹如何使用 Shell 腳本調(diào)試選項(xiàng),進(jìn)一步了解 詳細(xì)verbose、語(yǔ)法檢查syntax checking、 跟蹤tracing調(diào)試模式。

更重要的是,關(guān)于這個(gè)指南,歡迎通過下面評(píng)論提出任何問題或反饋。

責(zé)任編輯:武曉燕 來源: Linux中國(guó)
相關(guān)推薦

2016-12-20 09:30:22

shell腳本linux

2018-02-01 17:32:30

LinuxUNIXBash Shell

2017-01-18 20:38:36

LinuxShell腳本命令

2020-12-07 13:23:07

LibreOffice開源

2022-11-01 15:38:22

LinuxShell

2021-08-20 10:46:25

Shell腳本文件Linux

2021-04-21 08:03:34

腳本Shell讀取

2021-02-15 17:29:46

LinuxShell腳本

2021-01-18 17:23:30

代碼調(diào)試VS Code

2019-07-19 09:12:50

Windows 10平板電腦模式Windows

2022-09-16 07:33:52

瀏覽器深色模式Firefox

2022-10-21 10:31:36

Arch LinuxSnap

2022-05-20 13:46:36

Linux激活Linux水印

2022-11-08 11:39:34

Web瀏覽器深色模式

2021-03-14 09:28:24

Linux Shell腳本

2022-10-09 10:18:44

LinuxShell腳本

2024-11-26 08:09:40

2018-04-09 09:45:09

Windows 10休眠

2021-08-30 07:50:42

腳本語(yǔ)言命令行

2023-07-10 12:11:50

TypeScripChrome識(shí)別
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 国产精品一区二区在线 | 国产激情福利 | 亚洲视频在线一区 | 精品一区二区三区入口 | 91久久精品国产 | 99色综合| 在线观看视频你懂得 | 日本久草 | 成人黄色av网站 | 久久99久久久久 | 国产精品免费视频一区 | 91在线视频精品 | 一区二区三区亚洲精品国 | 国产亚洲第一页 | 国产精品久久久久永久免费观看 | av在线电影网 | 欧美专区日韩 | 国产无套一区二区三区久久 | 欧美三级电影在线播放 | 亚洲男人天堂av | 亚洲1区 | 一级片在线免费看 | 欧美日韩在线观看一区 | 国产日韩欧美综合 | 亚洲精品一二区 | 日韩欧美中文 | 99久9| 免费麻豆视频 | 日韩欧美精品 | 午夜免费在线观看 | 精品国产乱码久久久久久蜜臀 | 午夜爱爱网 | 国产精品福利在线 | 天天操夜夜操 | av网站免费看 | 在线看亚洲 | 日韩av成人在线 | 麻豆精品一区二区三区在线观看 | 一区二区三区四区国产 | 精品久久久久久亚洲精品 | 中文字幕av网站 |