linux - script教學 - ubuntu shell script




set-x`有什麼作用? (2)

set -x

在展開命令之前和執行命令之前,為命令,大小寫命令,選擇命令以及命令及其參數或關聯的單詞列表打印簡單命令的痕跡。 擴展PS4變量的值,並在命令及其擴展的參數之前打印結果值。

set -x
echo `expr 10 + 20 `
+ expr 10 + 20
+ echo 30
30
set +x
echo `expr 10 + 20 `
30

上面的示例說明了 set -x 的用法。 使用時,上述算術表達式已被擴展。 我們可以看到如何逐步評估單線。

  • 第一步 expr 已被評估。
  • 第二步 echo 已評估。

要了解有關設置的更多信息,請訪問 此鏈接

當涉及到您的shell腳本時,

[ "$DEBUG" == 'true' ] && set -x

當執行模式選擇為 DEBUG 時,您的腳本可能正在打印其他一些信息行。 傳統上,人們使用帶有可選參數(例如 -d 的腳本來啟用調試模式

我有一個shell腳本,其中包含以下行:

[ "$DEBUG" == 'true' ] && set -x

set -x 啟用shell的一種模式,在該模式下,所有執行的命令都將打印到終端。 在您的情況下,它顯然是用於調試的,這是 set -x 的典型用例:在執行命令時打印每個命令可能會幫助您可視化腳本的控制流(如果腳本未按預期運行)。





scripting