Linux 如何在kshell中获取前几天的日期
我有一个命令,它给出了前几天的日期:Linux 如何在kshell中获取前几天的日期,linux,bash,unix,ksh,aix,Linux,Bash,Unix,Ksh,Aix,我有一个命令,它给出了前几天的日期: date -d '-1 day' '+%Y%d%m' 在AIX系统中运行时,相同的命令给出错误 date -u +%Y%d%m “-d是不可识别的标志” 下面的命令正在运行,它给出了AIX系统的当前日期 date -u +%Y%d%m 但下面的命令错误为“1不可识别标志” 如何在AIX中获取前几天的日期。date是一个程序,而不是shell的内置命令。因此,无论使用何种外壳,它都应该工作 falsetru@ubuntu:~$ bash falsetru
date -d '-1 day' '+%Y%d%m'
在AIX系统中运行时,相同的命令给出错误
date -u +%Y%d%m
“-d是不可识别的标志”
下面的命令正在运行,它给出了AIX系统的当前日期
date -u +%Y%d%m
但下面的命令错误为“1不可识别标志”
如何在AIX中获取前几天的日期。
date
是一个程序,而不是shell的内置命令。因此,无论使用何种外壳,它都应该工作
falsetru@ubuntu:~$ bash
falsetru@ubuntu:~$ date -d '-1 day' '+%Y%d%m'
20142103
falsetru@ubuntu:~$ ksh
$ date -d '-1 day' '+%Y%d%m'
20142103
$ type date
date is a tracked alias for /bin/date
操纵时区可以在几个小时内改变时钟。 一个额外的复杂性是夏令时。由于夏时制,24小时前可以是今天或前天 你肯定昨天是20或30个小时前。哪一个?最近的一次不是今天
echo "$(TZ=GMT+30 date +%Y-%m-%d)\n$(TZ=GMT+20 date +%Y-%m-%d)" | grep -v $(date +%Y-%m-%d) | tail -1
以上命令用于ksh。使用bash时,需要echo-e:
echo -e "$(TZ=GMT+30 date +%Y-%m-%d)\n$(TZ=GMT+20 date +%Y-%m-%d)" | grep -v $(date +%Y-%m-%d) | tail -1
date-d
是一种GNU
ism,因此在非GNU
实现中不可用,如香草AIX
date
。但是,您可以在AIX
上安装coreutils
(下载链接),它随GNU日期一起提供?该命令在我的系统上运行良好,使用ksh--version
给出sh(AT&T Research)93u+2012-08-01
您会得到什么错误?date
的行为取决于平台,而不是shell,除非您的平台为许多unix实用程序提供了完整的ast open suite和ksh内置等价物。您好,我的系统是AIX。并将错误作为未识别标志:d@user3164140,请尝试在bash和ksh中键入日期或键入日期。比较结果。