[英]bash date environment variable
我需要使用日期字符串(從bash腳本中的命令行變量派生)來計算日期。
假設我有一組命令行參數(CLA),例如$ 1 = 2013 $ 2 = 03 $ 3 = 22,並且我想獲取某個日期之前或之后幾天的格式化日期字符串。
沒有CLA,我總能做到,
date -d "20130322 -1 day" -u +%Y%m%d
但是當我嘗試類似的東西時
yyyy=2013
month=03
day=22
yest='"'$yyyy$month$day'" -1 day"'
yesterday=$(date -d $yest -u +%Y%m%d)
我收到“日期:無效選項-'1'”
我哪里出問題了?
顯然您過度使用了引號
pwadas@host:~$ echo $(date -d "20130322 -1 day" -u +%Y%m%d)
20130321
pwadas@host:~$ xx=20130322
pwadas@host:~$ echo $(date -d "$xx -1 day" -u +%Y%m%d)
20130321
pwadas@host:~$
pwadas@host:~$ yesterday=$(date -d "$xx -1 day" -u +%Y%m%d)
pwadas@host:~$ echo $yesterday
20130321
pwadas@host:~$
PS。 上面的命令在MacOSX上不支持bash,但在Linux上可以。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.