我正在尝试设置一个查看当前日期和小时的脚本,然后将其放入yyyymmdd + 2位数字格式。一个例子是2015041506.小时应该基于24小时制。
然后脚本将回显日期,然后运行wget。
#!/bin/sh
#
# variables
#
basedir1="http://www.ftp.ncep.noaa.gov/data/nccf/com/hur/prod/hur."
#basedir2="http://www.ftp.ncep.noaa.gov/data/nccf/com/hur/prod/hwrf."
date=`date +"%Y%m%d"`
date2=`date +"%Y%m%d" -d "yesterday"`
hour=`date +%H`
#
# main
#
if [ $hour = "7" ]
then
datetime=`${date}06`
echo ${datetime}
url1="${basedir1}${datetime}/"
wget -r -l1 --no-parent -e robots=off -R 'index.*' -A '*.grib.*.grib2' -P /awips2/edex/data/manual/ $url1
elif [ $hour = "13" ]
then
datetime=`${date}12`
echo ${datetime}
url1="${basedir1}${datetime}/"
wget -r -l1 --no-parent -e robots=off -R 'index.*' -A '*.grib.*.grib2' -P /awips2/edex/data/manual/ $url1
elif [ $hour = "19" ]
then
datetime=`${date}18`
echo ${datetime}
url1="${basedir1}${datetime}/"
wget -r -l1 --no-parent -e robots=off -R 'index.*' -A '*.grib.*.grib2' -P /awips2/edex/data/manual/ $url1
elif [ $hour = "1" ]
then
datetime=`${date2}00`
echo ${datetime}
url1="${basedir1}${datetime}/"
wget -r -l1 --no-parent -e robots=off -R 'index.*' -A '*.grib.*.grib2' -P /awips2/edex/data/manual/ $url1
fi
该脚本似乎无法正常工作。
答案 0 :(得分:1)
case $hour in
13)
datetime=`${date}12`
echo ${datetime}
url1="${basedir1}${datetime}/"
wget -r -l1 --no-parent -e robots=off -R 'index.*' -A '*.grib.*.grib2' -P /awips2/edex/data/manual/ $url1
;;
19)
datetime=`${date}18`
echo ${datetime}
url1="${basedir1}${datetime}/"
wget -r -l1 --no-parent -e robots=off -R 'index.*' -A '*.grib.*.grib2' -P /awips2/edex/data/manual/ $url1
1)
datetime=`${date2}00`
echo ${datetime}
url1="${basedir1}${datetime}/"
wget -r -l1 --no-parent -e robots=off -R 'index.*' -A '*.grib.*.grib2' -P /awips2/edex/data/manual/ $url1
;;
*)
datetime=`${date}06`
echo ${datetime}
url1="${basedir1}${datetime}/"
wget -r -l1 --no-parent -e robots=off -R 'index.*' -A '*.grib.*.grib2' -P /awips2/edex/data/manual/ $url1
;;
esac
然后我会看一下wget命令,因为前三行中的每一行都非常相似,至少在'datetime'赋值方面。 (我懒得为你做这项工作。也就是说任何的东西与“datetime”的分配不同。
如果没有,则将那部分因素视为例如你的整个事情可能(?)看起来像这样:
case $hour in
13) dh=12;;
19) dh=18;;
1) dh=06;;
*) dh=00;;
esac
datetime=$(date)$dh
echo ${datetime}
url1="${basedir1}${datetime}/"
wget -r -l1 --no-parent -e robots=off -R 'index.*' -A '*.grib.*.grib2' -P /awips2/edex/data/manual/ $url1
答案 1 :(得分:0)
你应该替换:
datetime=`${date}06`
带
datetime="${date}06"
关于:
if [ $hour = "7" ]
确保它是
if [ $hour = "07" ]
答案 2 :(得分:0)
您需要if [ $hour == "07" ]
(请注意双=
)