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

简介:

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

题目要求

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

参考答案

[root@oldboyedu scripts]# cat downfile.sh
#!/bin/bash
url=$1
dir=$2
download()
{
    if [ ! -e $dir ];then 
    	read -p "$dir No such file or directory,create?(y/n)" answer
    	if [ "$answer" == "y" ];then
    		mkdir -p $dir
    		cd $dir
    		wget $url 1 >/dev/null 2>&1
    		if [ $? -ne 0 ]; then
    			return "52"
    		fi
        else
    		return "51"
    	fi
    fi
    }
download $url $dir
echo $?

网友回答

向日葵-架构师交流群

#!/bin/sh
if [ ! -d $2 ];then
echo "Directory does not exist.";
exit 51
fi
wget -O $2${1##*/} $1
if [ $? -ne 0 ];then
echo "Failed to download file."
exit 52
fi

今天是每日一题陪伴大家的第41天期待你的进步

对于题目和答案的任何疑问,请在博客评论区留言
往期题目索引
http://lidao.blog.51cto.com/3388056/1914205


本文转自 李导 51CTO博客,原文链接:http://blog.51cto.com/lidao/1921421

相关文章
|
10月前
|
存储 机器学习/深度学习 JSON
【Python考试资源】包含重点知识、坑点知识,期末考试看这一份就够了
本文章总结Python的各类知识,并将知识之间进行对比,对期末考试非常有效
173 0
|
Shell
Ansible概述和模块解释(你刚走过了今天,而扑面而来的却是昨天)(二)
Ansible概述和模块解释(你刚走过了今天,而扑面而来的却是昨天)(二)
171 0
Ansible概述和模块解释(你刚走过了今天,而扑面而来的却是昨天)(二)
|
Shell
Ansible概述和模块解释(你刚走过了今天,而扑面而来的却是昨天)(三)
Ansible概述和模块解释(你刚走过了今天,而扑面而来的却是昨天)(三)
229 0
Ansible概述和模块解释(你刚走过了今天,而扑面而来的却是昨天)(三)
|
运维 Devops Linux
Ansible概述和模块解释(你刚走过了今天,而扑面而来的却是昨天)(一)
Ansible概述和模块解释(你刚走过了今天,而扑面而来的却是昨天)(一)
174 0
Ansible概述和模块解释(你刚走过了今天,而扑面而来的却是昨天)(一)
|
索引 Python
小学生三分钟学会Python程序语法元素分析~总结笔记
小学生三分钟学会Python程序语法元素分析~总结笔记
146 0
小学生三分钟学会Python程序语法元素分析~总结笔记