我目前正在尝试将一个脚本放在一起,该脚本可以获取用户输入的日期并生成前 5 天作为变量,同时保持 YYYYMMDD 格式。
我使用的版本是GNU bash,版本3.2.52(1)发布(i386-pc-solaris2.10),但是似乎管理员已经阻止了GNU Util的使用,因此无法使用"gdate"命令。
我尝试使用无效的日期-d。此外,我尝试使用Perl,但似乎无法掌握如何最好地操纵它。
我目前拥有的脚本可以在下面看到,但没有返回最终日期。
#!/bin/bash
read -p "Enter the date (format = YYYYMMDD) : " Udate
echo $Udate
U2date=`TZ=GMT+24${Udate}'+%Y%m%d'`
echo $U2date
我的假设是,如果这段代码有效,我会简单地将 +24 增加到 +48,依此类推,以此类推。
抱歉,如果这是一个要解决的简单问题,我对脚本很陌生,我正在旅途中学习。
echo "enter the date (yyyymmdd):"阅读乌达特时间戳 = perl -MTime::Local=timelocal -e '@t = unpack ("A4A2A2", $ARGV[0]); $t[1]--; print timelocal(1,1,1,reverse
@t);' $Udate
U2日期= perl -MPOSIX=strftime -e 'print strftime("%Y%m%d", localtime($ARGV[0] -86400));' $timestamp
U3日期= perl -MPOSIX=strftime -e 'print strftime("%Y%m%d", localtime($ARGV[0] -172800));' $timestamp
U4日期= perl -MPOSIX=strftime -e 'print strftime("%Y%m%d", localtime($ARGV[0] -259200));' $timestamp
U5日期= perl -MPOSIX=strftime -e 'print strftime("%Y%m%d", localtime($ARGV[0] -345600));' $timestamp
供将来参考,以防有人遇到类似问题。