命令替换会改变格式

时间:2014-03-08 13:37:58

标签: bash

我正在写一个脚本来grep一些日志文件。日志中的月份和日期之间有两个空格。我可以使用date命令以这种格式生成日期,但是当我尝试将其分配给变量时,我会失去额外的空间,为什么会这样?

#Gives two spaces
date "+%b %e"
Mar  8

#Only one space
echo `date "+%b %e"`
Mar 8

VAR=$(date "+%b %e")
echo $VAR
Mar 8

1 个答案:

答案 0 :(得分:3)

您可以尝试引用以保留空白:

$ echo "$VAR"
Mar  8
   ^^

有些解释是有道理的。如果你说echo $VAR,你最终会说:

echo Mar  8

所以echo获取两个参数并打印它们之间有一个空格。如果你使用引号echo得到一个它打印的单个参数。