bash - 在 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:
知道为什么会发生这种情况以及如何将选项卡包含在变量中吗?
解决方案
选项卡在变量中。您正在通过打印错误来破坏它。
echo "$var1"
# => 2019-07-17 08:
如果您说 just echo $var1
,则echo
获取两个由空格分隔的参数(您的选项卡);echo
打印由空格分隔的每个参数。
如果您说echo "$var1"
,则echo
获取一个参数,其中包含选项卡。
推荐阅读
- java - 默认情况下,Json 反序列化将 UTC 引导到本地时间
- sql - 在Oracle中的同一张表中查找以秒为单位的时间差
- ios - iOS客户端的谷歌云端点框架2.0问题
- javascript - 简单的函数返回我在 JavaScript 中没想到的数字
- reactjs - 如何返回动态类型取决于函数中的参数类型
- java - 在 LinearLayout 中定位元素
- sql - PostgreSQL type casting failure in INSERT queries on copied tables
- node.js - MongoDb 地图集数据
- php - 如何从 CURL 响应 PHP API 的 JSON 字符串中删除引号、不需要的数据
- java - 使用带有 FCN 网络的 dl4j 进行语义分割