Shell 指令碼學習 簡單的執行跟蹤

2021-09-08 03:30:03 字數 762 閱讀 8863

程式是人寫的,難免會出錯。想知道你的程式正在做什麼,有個好方法,就是把執行跟蹤的功能開啟。這會使得shell顯示每個被執行到的命令,並在前面加上"+ " ,乙個加號後面跟著乙個空格。

在指令碼裡,用 set -x 命令將執行跟蹤的功能開啟,然後再用 set +x 命令關閉它。這個功能對複雜的指令碼比較有用,不過這裡只用簡單的程式來說明:

cat >trace1.sh

#! /bin/sh

set -x #

開啟跟蹤功能

echo 1st echo #

做些事set +x #

關閉跟蹤功能

echo 2nd echo #

再做些事

^d #

以end-of-file結尾

chmod +x trace1.sh

./trace1.sh

+ echo 1st echo #

被跟蹤的第一行

1st echo #

命令的輸出

+ *** +x #

被跟蹤的下一行

2nd echo #

下乙個命令的輸出

執行時,set -x 不會被跟蹤,因為跟蹤功能是在這條命令執行後才開啟的。同理,*** +x 會被跟蹤,因為跟蹤功能是在這條命令執行後才關閉的。最後的echo命令不會被跟蹤,因為此時跟蹤功能已經關閉。

簡單的shell指令碼及執行

which命令 查詢命令的完整路徑 具體功能 which命令用於查詢並顯示給定命令的絕對路徑,環境變數 path中儲存了查詢命令時需要遍歷的目錄。which指令會在環境變數 path設定的目錄裡查詢符合條件的檔案。使用which命令,就可以看到某個系統命令是否存在,以及執行的到底是哪乙個位置的命令。...

簡單的shell指令碼編寫和執行

vi shell.sh 1 bin bash 這裡不是注釋,這句話的作用是標註接下來寫的內容是shell指令碼,不可省略 2 author pingfanzzz 3 4 5 echo this is my first shell script wq儲存退出後修改許可權 chmod 755 shell...

shell 執行shell指令碼

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