我想用某种格式查找日期,我之前用perl做过(strftime
),但那次我提到了一个静态时间,这次我需要一个变量$ CURRENT_DAY在这里。如何将Shell参数传递给Perl脚本?
下面是问题,通过DAYHOUR=86400
和一个整数,该变量给出正确的时间等同的CURRENT_DAY
的时候,但一旦我把$CURRENT_DAY
变量在声明中,该日期将不会减少。
$ DAYHOUR=86400
$ DAY=1
$ CURRENT_DAY=`echo $(($DAYHOUR*$DAY))`
$ DD=`perl -e 'use POSIX; print strftime "%d", localtime time - $CURRENT_DAY;'`
$ echo $DD
20
$ DAY=`echo $(($DAY+1))`
$ CURRENT_DAY=`echo $(($DAYHOUR*$DAY))`
$ DD=`perl -e 'use POSIX; print strftime "%d", localtime time - $CURRENT_DAY;'`
$ echo $DD
20
$ DAY=`echo $(($DAY+1))`
$ echo $DAY
3
$ CURRENT_DAY=`echo $(($DAYHOUR*$DAY))`
$ echo $CURRENT_DAY
259200
$ echo `perl -e 'use POSIX; print strftime "%d", localtime time - 259200;'`
17
是否有一个Perl脚本接受shell脚本参数的问题? – Lordlebu
正如@ikegami在下面的评论中指出的那样,并非所有时间在所有时间的所有日子都有86400秒的时间。谨防夏令时间等。 – pilcrow