#!/bin/ksh
DATE=`date +%Y-%m-%d`
echo $DATE
date1='20120601'
date2='20120614'
u1=`echo $date1|cut -c1-4|tr -d ' '``echo $date1|cut -c5-6|tr -d ' '``echo $date1|cut -c7-8|tr -d ' '`
u2=`echo $date2|cut -c1-4|tr -d ' '``echo $date2|cut -c5-6|tr -d ' '``echo $date2|cut -c7-8|tr -d ' '`
echo " --- " $u1 $u2 $u3
fmt=''
while [[u1 < u2]];
do
printf '%s%(%Y%m%d)T' '$fmt' '#$u1'
[[u1+=3600*24]];
fmt=", ";
done;enter code here
printf'\n';
上面的代码不起作用,它不提供执行后的日期范围。我正在使用AIX7.1。请帮助我知道我的代码有什么问题。
提前致谢。 Sandesh
答案 0 :(得分:0)
目前还不清楚您要实现的目标,但以下代码至少应该执行而不会出现错误:
#!/bin/ksh
DATE=`date +%Y-%m-%d`
echo $DATE
date1='20120601'
date2='20120614'
u1=`echo $date1|cut -c1-4|tr -d ' '``echo $date1|cut -c5-6|tr -d ' '``echo $date1|cut -c7-8|tr -d ' '`
u2=`echo $date2|cut -c1-4|tr -d ' '``echo $date2|cut -c5-6|tr -d ' '``echo $date2|cut -c7-8|tr -d ' '`
echo " --- " $u1 $u2 $u3
fmt=''
while [ $u1 -lt $u2 ]
do
printf '%s%d' "$fmt" $u1
u1=$(( u1 + 1 ))
fmt=", ";
done
echo
echo enter code here
printf '\n'