我正在写一个脚本来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
答案 0 :(得分:3)
您可以尝试引用以保留空白:
$ echo "$VAR"
Mar 8
^^
有些解释是有道理的。如果你说echo $VAR
,你最终会说:
echo Mar 8
所以echo
获取两个参数并打印它们之间有一个空格。如果你使用引号echo
得到一个它打印的单个参数。