在bash上使用当前日期(包括制表符)设置变量

时间:2019-07-17 07:27:40

标签: bash

我试图用当前日期设置一个变量,但是在日期和时间之间有一个制表符。在当前变量上,我也希望时间回到1小时。

这很好:

#date -d '1 hour ago' "+%Y-%m-%d"$'\t'"%H:"
2019-07-17      08:

但是当我尝试将其设置为变量时,制表符被空格代替:

#var1=$(date -d '1 hour ago' "+%Y-%m-%d"$'\t'"%H:")
#echo $var1
2019-07-17 08:

#var1=`date -d '1 hour ago' "+%Y-%m-%d"$'\t'"%H:"`
#echo $var1
2019-07-17 08:

任何想法为什么会发生这种情况以及如何将选项卡包含在变量中?

1 个答案:

答案 0 :(得分:3)

标签 在变量中。您正在通过打印错误来破坏它。

echo "$var1"
# => 2019-07-17      08:

如果仅说echo $var1,则echo会得到两个由空格分隔的参数(您的标签); echo打印用空格分隔的每个参数。

如果您说echo "$var1",则echo将获得一个包含标签的单个参数。