我試圖弄清楚如何在將時間戳記錄到檔案之前將其添加到 stderr。
我有以下
sudo apt-get -y update 2>> error.log
sudo apt-get -y upgrade 2>> error.log
但是沒有任何運氣得到前置時間戳
uj5u.com熱心網友回復:
(
sudo apt-get -y update
sudo apt-get -y upgrade
) 2> >(while IFS= read -r line; do echo "$(date): $line"; done > error.log)
將所有命令分組到一個子 shell 中,并使用行程替換將它們的組合輸出重定向到一個回圈。回圈可以一次讀取一行,并在前面加上時間戳回顯它們。
這種技術很好,因為單個apt-get命令不需要修改,> error.log最后只需要一次。
也可以看看:
- 理解“IFS=read -r line”
uj5u.com熱心網友回復:
sudo apt-get -y update 2>> ( while read line; do echo "$(date): ${line}"; done >> error.log)
sudo apt-get -y upgrade 2>> ( while read line; do echo "$(date): ${line}"; done >> error.log)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/410610.html
標籤:
上一篇:查找檔案并插入檔案修改日期
