2017-08-30 173 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")