今日小练题目📢
编写一个带参数的脚本,实现下载文件的效果,参数有两个:
1)第一个参数为文件下载链接;
2)第二个参数为目录,即下载后保存的位置;
3)注意要考虑目录不存在的情况,脚本需要提示用户是否创建目录
优秀作业🤌🏻
#!/bin/bash
#author: xYLiuuuuuu
#version: v1
#date: 2024-12-4
while :
do
if [ -d $2 ]
then
break
else
read -p "目录不存在,是否要创建?(输入y或者n)" yn
case $yn in
y|Y)
mkdir -p $2
break
;;
n|N)
exit 2
;;
*)
echo "你只能输入y或者n"
continue
;;
esac
fi
done
cd $2
if ! which wget &>/dev/null
then
echo "本机没有安装wget"
apt install wget
if [ $? -ne 0 ]
then
echo "没有安装成功wget"
exit 1
fi
fi
wget $1
if [ $? -eq 0 ];then
echo "下载成功"
exit 0
else
echo "下载失败"
exit 1
fi
敲黑板📝
- 脚本参数为2
- read -p 使用在和用户交互的场景下
- while循环特别适合使用在和用户交互时需要多次交互的场景下
- break会退出循环体,continue会直接进入下一次循环
- wget命令
# -O指定文件名
wget -O wordpress.zip http://www.minjieren.com/download.aspx?id=1080
# 使用wget –limit -rate限速下载
wget --limit-rate=300k http://www.minjieren.com/wordpress-3.1-zh_CN.zip
# 使用wget -c断点续传
wget -c http://www.minjieren.com/wordpress-3.1-zh_CN.zip
# 使用wget -b后台下载
wget -b http://www.minjieren.com/wordpress-3.1-zh_CN.zip
Continuing in background, pid 1840.
Output will be written to `wget-log'.