Shell 啟用Shell指令碼除錯模式的方法

2021-07-25 15:33:57 字數 1246 閱讀 1391

本文主要介紹幾種啟用shell指令碼除錯模式的方法

一般情況下,我們會在終端輸入乙個個命令,來執行操作,但是這種方式對於簡單的操作還可以,對於稍微複雜一點的操作就不可行了,

因此,可以使用指令碼來儲存一系列命令,供使用者多次重複呼叫執行。

由於我們並不能保證寫的指令碼沒有bug,因此需要對指令碼進行除錯,下面我們就來講講如何啟用指令碼除錯

在講解之前,先介紹寫基本知識

一、指令碼及其執行

乙個指令碼檔案與其他檔案的區別主要是它的首行,它包含#!(定義檔案型別)和路徑名(直譯器路徑),用於告知系統該檔案是乙個命令集合,將被指定直譯器解釋

指令碼首行示例:

#! /bin/bash          #bash指令碼

#!/bin/sh #sh指令碼

執行乙個指令碼很簡單

$ chmod +x 指令碼名     #使其具有可執行許可權

$ ./指令碼名 #執行指令碼或者在其前面指定執行該指令碼的直譯器

二、啟用shell指令碼除錯模式

先介紹下shell指令碼除錯的選項

-v:詳細模式,讀取指令碼時顯示所有行

-n:語法檢查模式,讀取命令但是不執行

-x:跟蹤模式,在終端顯示所有執行的命令和它們的引數

啟用shell指令碼除錯的方法:

(1)改變shell指令碼的首行

#!/bin/sh  選項          #根據選項啟用不同除錯模式,選項可同時使用

(2)呼叫shell除錯選項

$ /bin/sh  選項  ./指令碼名            

(3)使用shell內建命令set

該方法比較靈活,可以除錯任何一段shell指令碼

開啟除錯模式:

$ set  選項   

啟用除錯模式:

$ set  -選項  

禁用除錯模式:

$ set  +選項  

此外,如果我們在shell指令碼的不同部分啟用了多個除錯模式,可以一次性禁用所有的除錯模式:

$ set  -  

讓我們一起遨遊在**的海洋裡!

Shell指令碼和shell

1.shell script,shell指令碼與windows dos下的批處理相似,也就是用各類命令預先放入到乙個檔案中,方便一次性執行的乙個程式檔案,主要是方便管理員進行設定或者管理用的。但是它比windows下的批處理更強大,比用其他程式設計程式編輯的程式效率更高,畢竟它使用了linux un...

shell 執行shell指令碼

bin bash echo hello world 是乙個約定的標記,它告訴系統這個指令碼需要什麼直譯器來執行,即使用哪一種 shell。echo 命令用於向視窗輸出文字。1 作為可執行程式 chmod x test.sh 使指令碼具有執行許可權 test.sh 執行指令碼注意,一定要寫成 test...

Shell指令碼(三) Shell指令碼入門

1 指令碼格式 指令碼以 bin bash開頭 指定解析器 2 第乙個shell指令碼 helloworld 1 需求 建立乙個shell指令碼,輸出helloworld 2 案例實操 atguigu hadoop101 datas touch helloworld.sh atguigu hadoo...