【问题标题】:SOLARIS 10 Date ArithmeticSOLARIS 10 日期算术
【发布时间】:2015-05-17 02:32:01
【问题描述】:

我正在使用 X86 SOLARIS 10 并且需要以下 bash 脚本来获取昨天的日期。

   #!/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:找不到命令”。另外,尝试了没有成功评论的方法。任何建议

【问题讨论】:

  • 也许你的意思是说TZ=GMT+24 date +%Y%m%d...但我不知道C库是否会认为有效的时区...“GMT+24”确实通常不是有效的命令,所以 shell 对此抱怨是正确的。
  • 我不确定 Solaris date 命令是否可以执行您想要执行的操作。如果您可以安装 GNU Coreutils 软件包,date -d tomorrow 将起作用。如果没有,请考虑用另一种语言编写程序(C 或 Perl 都可以)。
  • @KeithThompson 是对的 - 默认情况下,Solaris 不附带 GNU coreutils date 命令 - 这是您尝试使用的。您需要找到并执行 B 计划。/usr/sfw/bin 目录是您拥有的少数 coreutils 的主目录。

标签: date solaris


【解决方案1】:

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

请参阅此link,其中包含有关在 Solaris 上获取 GNU 日期(GNU coreutils 包的一部分)的信息。将始终在 Solaris 服务器上部署最少的 GNU 工具作为一项规则(参见链接)。使其成为贵公司默认安装的一部分。那么你就不会陷入这些问题。或者移动到默认安装 GNU 日期的更新的 Solaris(*)。

*) 现在是 2014 年 12 月,Solaris 10 已经相当老了。

【讨论】:

    猜你喜欢
    • 2017-08-23
    • 2011-02-23
    • 1970-01-01
    • 2021-02-15
    • 1970-01-01
    • 1970-01-01
    • 2011-10-05
    • 2012-07-22
    • 2012-01-14
    相关资源
    最近更新 更多