2017-08-30 168 views
0

我在跟隨this example來參數化日期。但是這個代碼:嘗試參數化bash日期時額外的操作數'ago'

FROM_DATE=$(date --date='1 day ago' +"%F") 

OPTARG="1 day ago" 
echo $OPTARG 
FROM_DATE=$(date --date=${OPTARG} +"%F") 
echo $FROM_DATE 

給我一個錯誤:

date: extra operand ‘ago'’ 

應該如何解決呢?

+1

哦,呵呵,我錯過了報價問題。這是一個常見問題。另見https://stackoverflow.com/questions/10067266/when-to-wrap-quotes-around-a-shell-variable – tripleee

回答

2

引用$OPTARG的擴展。沒有引號,--date=1 day ago分爲三個參數:--date=1,dayago

FROM_DATE=$(date --date="$OPTARG" +"%F")