我'试图输出内嵌状态与日期的毗连字符串和eval
now="date -Iseconds"
echo "[" eval $now echo "] my log status"
这个返送管线
now="date -Iseconds"
echo "["; eval $now; echo "] my log status"
我不whant做
now=`date -Iseconds`
因为实时时钟在2个日志状态之间并存储变量初始化的时间
我'试图输出内嵌状态与日期的毗连字符串和eval
now="date -Iseconds"
echo "[" eval $now echo "] my log status"
这个返送管线
now="date -Iseconds"
echo "["; eval $now; echo "] my log status"
我不whant做
now=`date -Iseconds`
因为实时时钟在2个日志状态之间并存储变量初始化的时间
使用功能:
now() { date -Iseconds; }
echo "[$(now)] my log status"
更妙的是,你可以使用一个函数,将输出你的消息,除了前面日期:
msg_now() { printf '[%s] %s\n' "$(date -Iseconds)" "$*"; }
和使用:
msg_now "my log status"
mutch thx,干净的编码 – jelineau
你可以用只是回声做到这一切
echo $(date -Iseconds) my log status;
# 2017-08-16T01:18:25+00:00 my log status
如果您不知道自己在做什么,请不要使用eval。您可以使用子shell'echo“[$($ now)]我的日志状态”'。但是你也不应该把命令保存到变量中,所以你可以使用一个数组来代替'now =(date -Iseconds)'并使用'$ {now [@]}'来访问。 – 123
*参数*可以保存在一个数组中; *命令*应该包装在一个函数中。 – chepner
@chepner怎么回事? – 123