我有一个包含大量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