环境变量为日期STRING?

时间:2016-09-25 06:05:24

标签: bash environment-variables

$ date --version     date(GNU coreutils)8.25

当我将带引号的字符串传递给日期时,对epoch的翻译工作正常,但是当引用的字符串在环境变量中时,没有快乐。

$ date --date "09/25/2016 12:31:52 AM" +%s
1474781512

$ echo $LAT
"09/25/2016 12:31:52 AM"

$ date --date $LAT +%s
date: extra operand ‘AM"’

$ date --date "$LAT" +%s
date: invalid date ‘"09/25/2016 12:31:52 AM"’

$ date --date '$LAT' +%s
date: invalid date ‘$LAT’

我做错了什么? (这不是作业。)

感谢。

2 个答案:

答案 0 :(得分:2)

扩展变量($LAT)值附近有双引号。

在声明时删除双引号或使用参数展开在运行时删除:

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

答案 1 :(得分:0)

您的变量中有引号,这会导致问题。你可以在这里看到它:

$ echo $LAT
"09/25/2016 12:31:52 AM"

如果您的变量只有日期,则它不会显示引号。