我有一個包含大量echo語句的shell腳本。我想在輸出的每一行前加上時間/日期。在shell腳本中使用日期預定日誌
所以,我更換一次
echo "Some text1"
echo "Some text2"
與
echo "`date +%y/%m/%d_%H:%M:%S`:: some text1"
echo "`date +%y/%m/%d_%H:%M:%S`:: some text2"
這是相當醜陋。無論如何要創建一個別名(或類似於C中的#define),使其更清潔。
顯然,做這樣的事情:
DATE=`date +%y/%m/%d_%H:%M:%S`
echo "$DATE:: some text1"
echo "$DATE:: some text2"
...是行不通的,因爲在這種情況下,日期僅計算一次,每個回波將具有相同的日期。
我正在考慮用打印函數調用來替換每個回顯,而不是前綴。我想知道是否有人有其他更好的想法。
使用'$ *'而不是'$在一個更大的字符串中(因爲它是一個上下文,其中「$ @」的分割爲每個成員的arg的行爲是不可取的),並且更好地使用缺少具體原因的POSIX函數聲明語法與其不相容。 – 2014-02-18 16:04:16