0
假設下面的簡單腳本:防止記錄
#!/bin/bash
log="${HOME}/bin/test.log"
if [ -r "${log}" ]; then
rm -f "${log}"
fi
{
echo "Start of test"
clear
echo "End of test"
} 2>&1 | tee -a "${log}"
生成的日誌文件的內容如下所示:
Start of test
<unprintable>[H<unprintable>[2JEnd of test
有什麼辦法避免多餘的字符導致從使用這種記錄方式發出明確命令?
這很好,但有一個奇怪的副作用,其中諸如echo「Only in log」>>「$ {log}」之類的語句對日誌沒有影響。任何解決方案? – Frostfyre
你可能會對運用'>>'和'sed'命令有一些好運,但通常這可能不起作用,因爲你現在有兩個獨立的進程(腳本和'sed')編寫同一個文件,並且寫入將被任意交錯。 – chepner
我每次使用clear命令時都使用sed清除日誌中的字符,但感謝您的幫助。 – Frostfyre