2016-01-28 21 views
1

我在想如果有一種方法可以從腳本中將set -x輸出寫入文件,而不是從命令中調用tee提示。bash腳本將set -x的輸出複製到文件中,從腳本內部調用而不是使用tee

例如,我通常使用myScript.sh 2>&1 | tee mylog.log構成命令提示符。這將我所期望的-x集複製到日誌文件中。

有沒有一種方法在myScript.sh之內對此進行內部化,所以如果我不需要調試,我可以將其設置爲關閉標誌。從命令提示符處僅運行myScript.sh

THX 藝術

回答

1

裏面腳本的地方這條線在頂部:

#!/bin/bash 

[[ $1 == "debug" ]] && { exec 2>err.txt; set -x; } 

# rest of the script 

現在,當你打電話給你的腳本:

./myScript.sh debug 

你會得到一個文件err.txt創建含有輸出set -x(有其他錯誤,如果有的話)