在shell脚本中使用日期前缀日志

rou*_*ble 5 shell date echo

我有一个包含大量echo语句的shell脚本.我想在每行输出前加上时间/日期.

所以,我取代了每一个

echo "Some text1"
echo "Some text2"
Run Code Online (Sandbox Code Playgroud)

echo "`date +%y/%m/%d_%H:%M:%S`:: some text1"
echo "`date +%y/%m/%d_%H:%M:%S`:: some text2"
Run Code Online (Sandbox Code Playgroud)

这相当丑陋.无论如何都要创建一个别名(或类似于C中的#define),以使其更清晰.

显然,做一些事情:

DATE=`date +%y/%m/%d_%H:%M:%S`
echo "$DATE:: some text1"
echo "$DATE:: some text2"
Run Code Online (Sandbox Code Playgroud)

...不起作用,因为在这种情况下,DATE只计算一次,每个回波的日期相同.

我正在考虑用打印函数调用替换每个echo,它使用前缀.我想知道是否有人有任何其他/更好的想法.

mob*_*mob 12

echodate()
{
    echo `date +%y/%m/%d_%H:%M:%S`:: $*
}

echodate Some text 1
echodate Some text 2
Run Code Online (Sandbox Code Playgroud)