我想使date
命令具有很好的格式,如下所示:
$ date +"%Y-%m-%d %H:%M:%S"
2015-09-17 16:51:58
但我想将其保存在变量中,因此可以从如下脚本中调用:
echo "$(nice_date) [WARNING] etc etc"
但是它不起作用
$ nice_date="date +%Y-%m-%d %H:%M:%S"
$ echo "$($nice_date)"
date: extra operand ‘%H:%M:%S’
Try 'date --help' for more information.
$ nice_date="date +\"%Y-%m-%d %H:%M:%S\""
$ echo "$($nice_date)"
date: extra operand ‘%H:%M:%S"’
Try 'date --help' for more information.
$ nice_date='date +"%Y-%m-%d %H:%M:%S"'
$ echo "$($nice_date)"
date: extra operand ‘%H:%M:%S"’
Try 'date --help' for more information.
什么是正确的方法来执行此操作,以便date命令获得一个正确的参数?
问题是空间。如果使用
—
MadHatter
nice_date="date +%Y-%m-%d-%H:%M:%S"
,它会起作用。我目前无法看到如何从第二个外壳保护该空间。
"%F %T"
如果您使用的是GNU ,则日期格式字符串可以缩短为date
。