我想用某種格式查找日期,我之前用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