程式是人寫的,難免會出錯。想知道你的程式正在做什麼,有個好方法,就是把執行跟蹤的功能開啟。這會使得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...