15 shell之curl下载文件

前言

    最近忙于离职的工作交接,有日子没学习了,懒惰啊!

正文

1.需求

譬如某一天我们做了一个软件。

有时我们的软件需要自动根据到网上去获取当前版本是否要更新。如果"网上"需要更新则下载一些必要的文件

2.shell实现

LOCAL_VER=`cat version`

REMOTE_VER=`curl http://www..@@@..com/test/conf.txt -s | sed -n '2p'` # -s 静默模式,不显示细节

#echo $REMOTE_VER

if [ $LOCAL_VER -lt $REMOTE_VER ]

then

# echo "begin update"

GET_UPDATE=`curl -d "password=123" http://www.@@@.com/test/update.php -s` #-d post 提交

wget $GET_UPDATE

echo "2">version

fi

3.思路梳理

首先判断本地的version文件,读取。

用curl访问远程conf.txt,然后取第二行

本地的 版本和远程版本进行比较,如果版本小则;

1)模拟post访问update.php,并获取需要下载的地址

2)使用wget下载下来

 

4.知识点梳理

(1)curl "命令行下的浏览器" 文件传输工具

curl http://www.baidu.com

以上都是用GET的方式直接访问网页。

其实curl很牛逼的地方还能模拟提交

curl -d "这里写post参数" 这里写网址

(2)数字比较

-gt是大于的意思 large than

-lt是小于 less than

-eq是等于 equal

-ne是不等于not equal

-ge是大于等于 large equal
     -le是小于等于  less equal

(3)curl 静默模式

curl 网址

会正常显示

 

         赋值给你变量会显示统计信息

         result=`curl 网址`

         echo $result 会出现统计信息

            

        静默模式:不显示统计信息

        result=`curl 网址 -s`

(4)curl 网址 需要等待网站相应

所以用 语句1 | 语句2

            代表只有语句1执行完的结果,作为语句2的参数

            之后用sed 读取下就OK了

 

尾声、

在人生中,赢家并不是那些有优秀基因的人,或是那些最有天分的人,而是那些最不屈不挠的人!当他们跌倒了,他们总是不断的爬起来,继续做,继续做。 no pain no gains (^ _ ^) !!
原文地址:https://www.cnblogs.com/fatsnake/p/5874228.html