我正在通過一個主父腳本運行一堆腳本。我在下面的父級腳本中添加了日誌記錄代碼:限制特定子shell腳本的日誌記錄
exec 3>&1 4>&2
trap 'exec 2>&4 1>&3' 0 1 2 3
exec 1>logFileName 2>&1
這會生成所有子腳本的日誌。我想跳過一個特定腳本的日誌生成,因爲它的日誌有時會非常繁重。
有沒有辦法做到這一點?非常感謝!
我父腳本是這樣的:
mkdir -p $scriptFolder/log
logFile="$scriptFolder/log/$(echo "$4" | tr -d '\n\r')_log_ImportMain_$dateTime.log"
exec 3>&1 4>&2
trap 'exec 2>&4 1>&3' 0 1 2 3
exec 1>$logFile 2>&1
source $scriptFolder/shellscripts/1.copyFilesFromFTP.sh
source $scriptFolder/shellscripts/2.import.sh
source $scriptFolder/shellscripts/3.export.sh
source $scriptFolder/shellscripts/4.copyFilesToFTP.sh
我想跳過日誌記錄3.export.sh,是否有任何可能的方式做到這一點?
你顯示的代碼並不告訴我們你是如何運行這些腳本或如何生成他們的日誌。如果這是一個編排腳本,它將所有其他腳本作爲子流程單獨運行,請從不希望輸出的標準錯誤(和/或標準輸出)中丟棄。 – tripleee
你列舉的'trap'信號真的很奇怪。你想在這裏完成什麼? – tripleee
我有一個簡單地調用所有子腳本的父腳本。以上代碼正在用於生成日誌。在調用子腳本之前,我在父腳本中有這個日誌代碼。我只想排除子腳本的日誌生成,因爲它的日誌很重,我只需要一個日誌文件來處理整個過程。 –