1)第一个参数为URL,即可下载的文件;第二个参数为目录,即下载后保存的位置;
2)如果用户给的目录不存在,则提示用户是否创建;如果创建就继续执行,否则,函数返回一个51的错误值给调用脚本;
3)如果给的目录存在,则下载文件;下载命令执行结束后测试文件下载成功与否;如果成功,则返回0给调用脚本,否则,返回52给调用脚本;
解答: 此题涉及函数,read读入 传参 if判断 等等,脚本还不完善,仅作为记录
[root@db02 scripts]# cat download.sh #!/bin/sh [ -f /etc/init.d/functions ]&& . /etc/init.d/functions ##加载系统函数库 URL=$1 ##传参 DIR=$2 if [ $# -ne 2 ];then #判断传参个数 action "sh $0" /bin/false echo "Warning:Lack parameter" echo "USAGE: sh $0 WEB_URL DIR_PATH" exit 1 fi download(){ ##定义函数 if [ ! -d $DIR ];then read -p "$DIR not exist need create?(y/n)" char #read读入 if [ "$char" = "y" ] ##if判断 字符串比较“”双引号括起来 用=等号比较 then #整数比较 不用引号 可以用 -eq mkdir $DIR -p cd $DIR wget $URL &>/dev/null if [ $? -ne 0 ];then return "52" #return 函数中的返回值,类似于exit fi else return "51" fi fi } download $URL $DIR ##前面download是函数名;$URL位置是函数的第一个参数,也是脚本的第一个参数=$1 if [ $? -eq 0 ];then action "wget $URL" /bin/true else sleep 1 action "wget $URL" /bin/false sleep 1 exit 1 fi
测试结果
[root@db02 scripts]# sh download.sh www.baidu qqq qqq not exist need create?(y/n)y wget www.baidu [FAILED] [root@db02 scripts]# sh download.sh sh download.sh [FAILED] Warning:Lack parameter USAGE: sh download.sh WEB_URL DIR_PATH [root@db02 scripts]# sh download.sh www.baidu.com qiuyuetao qiuyuetao not exist need create?(y/n)y wget www.baidu.com [ OK ] [root@db02 scripts]# cat qiuyuetao/index.html百度一下,你就知道<
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。