本文主要介紹幾種啟用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...