题目:老男孩教育每日一题-2017年5月3日-写一个脚本:创建一个函数,能接受两个参数题目要求

1)第一个参数为URL,即可下载的文件;第二个参数为目录,即下载后保存的位置;
2)如果用户给的目录不存在,则提示用户是否创建;如果创建就继续执行,否则,函数返回一个51的错误值给调用脚本;
3)如果给的目录存在,则下载文件;下载命令执行结束后测试文件下载成功与否;如果成功,则返回0给调用脚本,否则,返回52给调用脚本;


解答: 此题涉及函数,read读入 传参 if判断 等等,脚本还不完善,仅作为记录

[root@db02scripts]#catdownload.sh#!/bin/sh[-f/etc/init.d/functions]&&./etc/init.d/functions##加载系统函数库URL=$1##传参DIR=$2if[$#-ne2];then#判断传参个数action"sh$0"/bin/falseecho"Warning:Lackparameter"echo"USAGE:sh$0WEB_URLDIR_PATH"exit1fidownload(){##定义函数if[!-d$DIR];thenread-p"$DIRnotexistneedcreate?(y/n)"char#read读入if["$char"="y"]##if判断字符串比较“”双引号括起来用=等号比较then#整数比较不用引号可以用-eqmkdir$DIR-pcd$DIRwget$URL&>/dev/nullif[$?-ne0];thenreturn"52"#return函数中的返回值,类似于exitfielsereturn"51"fifi}download$URL$DIR##前面download是函数名;$URL位置是函数的第一个参数,也是脚本的第一个参数=$1if[$?-eq0];thenaction"wget$URL"/bin/trueelsesleep1action"wget$URL"/bin/falsesleep1exit1fi


测试结果

[root@db02scripts]#shdownload.shwww.baiduqqqqqqnotexistneedcreate?(y/n)ywgetwww.baidu[FAILED][root@db02scripts]#shdownload.shshdownload.sh[FAILED]Warning:LackparameterUSAGE:shdownload.shWEB_URLDIR_PATH[root@db02scripts]#shdownload.shwww.baidu.comqiuyuetaoqiuyuetaonotexistneedcreate?(y/n)ywgetwww.baidu.com[OK][root@db02scripts]#catqiuyuetao/index.html<!DOCTYPEhtml><!--STATUSOK--><html><head><metahttp-equiv=content-typecontent=text/html;charset=utf-8><metahttp-equiv=X-UA-Compatiblecontent=IE=Edge><metacontent=alwaysname=referrer><linkrel=stylesheettype=text/csshref=http://s1.bdstatic.com/r/www/cache/bdorz/baidu.min.css><title>百度一下,你就知道<