2014-12-02 55 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年