2016-09-25 4 views
0

$日付--version 日(GNUのcoreutilsの)8.25日付としての環境変数STRING?

私は日付に引用符で囲まれた文字列を渡すと、エポックへの変換が正常に動作しますが、引用符で囲まれた文字列は、環境変数、ない喜びであるとき。

$ 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

拡張変数($LAT)の値の前後にリテラルの二重引用符があります。

どちらの実行時に削除する宣言または使用パラメータ展開の時に二重引用符を削除します。

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

LATのソース(二重引用符で囲んだもの)。実行時にそれらを削除することはやりました。ありがとう。 – RonJohn

0

あなたはあなたの変数に引用符を持っており、それが問題を引き起こしています。

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

変数にちょうど日付があった場合は、引用符が表示されませんでした。

+0

LATのソースには二重引用符が付きます。 – RonJohn