【发布时间】:2017-11-05 11:29:04
【问题描述】:
我正在 Solaris 中尝试以下命令。我正在bash中尝试所有这些@
START_DT="$(date --date='2013-04-01' +'%Y-%m-%d')"
它给了我错误
-bash-3.2$ START_DT="$(date --date='2013-04-01' +'%Y-%m-%d')"
date: illegal option -- date=2013-04-01
usage: date [-u] mmddHHMM[[cc]yy][.SS]
date [-u] [+format]
date -a [-]sss[.fff]
-bash-3.2$ START_DT=$(date -d '2013-04-01' +%Y-%m-%d)
date: illegal option -- d
usage: date [-u] mmddHHMM[[cc]yy][.SS]
date [-u] [+format]
date -a [-]sss[.fff]
当我在 RedHat 中尝试相同的方法时,它可以工作。
$ START_DT="$(date --date='2013-04-01' +'%Y-%m-%d')"
$ echo $START_DT
'2013-04-01'
以同样的方式,某些算术运算不起作用。算术运算是指给定日期加上 10 天等。
但这一切都适用于 Redhat。可能是我有一个非常旧的 Solaris 版本,我只能使用这个服务器来解决这个问题
【问题讨论】:
-
您使用哪个版本的 Solaris?
-
Solaris 操作系统:5.10 150400-52 U10 8/11 修补到 U11 @Cyrus
-
--date和-d是date实用程序的非标准 GNU 扩展。标准的date命令选项可以在pubs.opengroup.org/onlinepubs/9699919799/utilities/date.html找到 -
但它没有任何选项可以将特定日期(硬编码)设置为变量
-
Python 可能会有所帮助:stackoverflow.com/q/30231953/3776858
标签: bash shell date solaris-10