时间戳日期变量语法错误

时间:2014-09-18 15:37:38

标签: bash

我尝试使用变量时间戳将日期转移到以下日期命令中:

Timestamp=Sep 17 16:07:21 2014  

Timestampdate=$(date -d $Timestamp +%s)

以秒为单位获取日期,但我无法在$Timestamp变量周围获得正确的语法。有什么帮助吗?

1 个答案:

答案 0 :(得分:0)

你必须用带引号的空格字符包围变量以将它们保持在一起,否则shell会将空格解释为分词,从而改变你的意思。

Timestamp="Sep 17 16:07:21 2014"
Timestampdate=$(date -d "$Timestamp" +%s)

自动拆分未加引号的插入变量有时很有用。例如:

myargs='-t -r -d'
ls $myargs foo bar baz

在字面上插入命令行ls -t -r -d foo bar baz,实际上允许从变量中提取任意参数。