2013-09-24 121 views
2
DATE="1 week ago" 
date --date='$DATE' 

不起作用。我怎樣才能使它工作?命令中的bash變量擴展

我可以這樣做:

DATE_CMD="date --date='$DATE'" 
eval $DATE_CMD 

,但我不希望存儲完整的命令中的變量。

回答

2

你報價擴張的犧牲品。

正確的調用將可能是:

DATE='1 week ago' 
date --date="$DATE" 

(注意雙引號)

+1

哇!這是我收到的最快捷的解決方案!因爲我必須等待11分鐘(顯然),所以甚至不能接受你的答案。 – Ash

2

你只需要使用雙引號,以使字符串插值:

date --date="$date" 
+1

另一個快速響應。是的,這也適用。以爲我會引導讀者這個主題,它很好地解釋它:http://stackoverflow.com/questions/6697753/difference-between-single-and-double-quotes-in-bash – Ash