当我只执行日期时,日期格式显示正确,但当我存储在变量中时,如果日期中有一个数字,则会在日期中丢失一个空格(grep/var/log/messages需要额外的空格)。请建议按原样提供准确的格式。谢谢!

$date -d '-1 day' '+%b %e'
Aug  1
$echo $(date -d '-1 day' '+%b %e')
Aug 1
$var=`date -d '-1 day' '+%b %e'`
$echo $var
Aug 1

最佳答案

像这样使用双引号:

$ echo $(date -d '+1 day' '+%b %e')
Aug 2
$ echo "$(date -d '+1 day' '+%b %e')"
Aug  2

或:
$ var="$(date -d '+1 day' '+%b %e')"
$ echo $var
Aug 2
$ echo "$var"
Aug  2

在没有双引号的情况下,shell对输出应用分词,并将多个空格折叠为一个空白。

关于linux - bash在Linux中使用日期格式的空格,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57320939/

10-10 17:43