2014-12-02 90 views
1

我正在使用X86 SOLARIS 10並需要以下bash腳本來獲取昨天的日期。SOLARIS 10日期算術

#!/usr/local/bin/bash 
    #ds=`date '+%Y%m%d' -d "+2 days"` 
     ds=`GMT+24 date +%Y%m%d` 
    #ds=`date --date yesterday +%Y%m%d` 
    echo $ds 

獲取錯誤「GMT + 24:command not found」。另外,嘗試了沒有成功評論的方法。任何建議

+1

也許你的意思是說'TZ = GMT + 24日期+%Y%M%D'......但我我不知道C庫是否會考慮有效的時區...「GMT + 24」確實通常不是一個有效的命令,所以shell在對此抱怨的時候是正確的。 – twalberg 2014-12-02 21:06:40

+0

我不確定Solaris'date'命令可以做你想做的事情。如果你可以安裝GNU Coreutils軟件包,'date -d tomorrow'將起作用。如果不是,請考慮用另一種語言編寫程序(C或Perl可以很好地工作)。 – 2014-12-02 21:35:29

+0

@KeithThompson是對的 - Solaris默認不會默認使用GNU coreutils date命令 - 這正是您嘗試使用的。您需要查找並轉到計劃B./usr/sfw/bin目錄是您擁有的少數coreutils的歸宿。 – 2014-12-03 22:01:50

回答

1

你不能用Solaris自己的date命令做很多日期算術。正如其他人指出,你需要GNU日期

請參閱此link,其中包含有關在Solaris上獲取GNU日期(GNU coreutils包的一部分)的信息。請始終在Solaris服務器上部署最小的GNU工具(請參閱鏈接)。使其成爲貴公司默認安裝的一部分。那麼你將不會涉及這些問題。或者移動到更新的Solaris(*),默認安裝GNU日期。

*)的Solaris 10現在,我們是越來越相當老的12月2014年