以特定格式打印日期

以特定格式打印日期

我们想要使用以下日期格式在 bash 脚本中打印日志

 2018-03-22 09:54:05,$task   ( $task is a counter of command )

 echo " `date +% .... ,$task` INFO $1"   ( $1 is the $1 argument that we want to print )

例子

 2018-03-22 09:54:05,001 INFO script begin to start server
 2018-03-22 09:54:05,001 INFO script begin to start agent

答案1

echo在这种情况下你不需要:

date +"%F %T,$task INFO $1"

如果$task$1包含%,则必须将它们替换为%%first,以便它们不会被解释为格式序列date。这可以bash通过以下方式完成

date +"%F %T,${task//%/%%} INFO ${1//%/%%}"

答案2

man date:

%F     full date; same as %Y-%m-%d
%T     time; same as %H:%M:%S

相关内容