簡體   English   中英

bash日期環境變量

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM