如何在shell中的date命令中使用变量?

时间:2017-11-02 15:27:06

标签: shell

我有一个cURL命令获取日期并将其设置为变量作为字符串。但后来我想把这个变量用作日期,所以我在变量上使用了date命令,但似乎date命令不喜欢这个。如何将此变量设置为日期?

示例:

date=$(curl blahblahblah)
echo $date
"2017-11-02T13:23:52+00:00"
date -d $date +%s
date: invalid date ‘"2017-11-02T13:23:52+00:00"’

当我用$ date替换实际值时,它可以正常工作。

1 个答案:

答案 0 :(得分:1)

curl的输出有双引号,而您的date变量在日期值附近有这些引号。

bash中,您可以在使用date命令之前删除双引号:

date -d "${date//\"/}" '+%s'
1509629032

如果您没有bash,请使用:

date -d $(echo "$date" | tr -d '\"') '+%s'
1509629032