一步步教你如何編寫(xiě)Shell腳本
問(wèn)題:
- 請(qǐng)求在線(xiàn)api, 獲取json格式的返回結(jié)果
- 解析json里面的一個(gè)值
- 將該值存儲(chǔ)到文件
開(kāi)發(fā)準(zhǔn)備
1、shell
快速入門(mén):
#!/bin/sh cd ~ mkdir shell_tut cd shell_tut for ((i=0; i<10; i++)); do touch test_$i.txt done
創(chuàng)建一個(gè)文件夾, 并在里面新建10個(gè)文件
2、curl
使用curl請(qǐng)求網(wǎng)絡(luò), 并獲取返回值
curl基本用法:
$ curl www.sina.com
直接返回網(wǎng)頁(yè)內(nèi)容
$ curl -o [文件名] www.sina.com
將網(wǎng)頁(yè)內(nèi)容存儲(chǔ)到文件中, 相當(dāng)于wget命令
賦值操作:
response=$(curl www.sina.com) echo $response
注意: =前后沒(méi)有空格
jq
jq是命令行解析json的很好的工具
安裝
直接到官網(wǎng)下載Linux64版本(我是用本地下載好后傳上服務(wù)器的, 之前直接在服務(wù)器用wget下載一直報(bào)錯(cuò)Segmentation fault, 折騰好久~)
將其copy到bin目錄
cp jq-linux64 /usr/bin/jq
使用
然后就可以愉快的使用jq命令了:
可直接查看官網(wǎng)Tutorial
curl 'https://api.github.com/repos/stedolan/jq/commits?per_page=5'
返回的是一個(gè)json數(shù)組列表
curl 'https://api.github.com/repos/stedolan/jq/commits?per_page=5' | jq '.'
使用.直接指向json的根節(jié)點(diǎn)
curl 'https://api.github.com/repos/stedolan/jq/commits?per_page=5' | jq '.[0]'
[0]為取數(shù)組的第0位的對(duì)象
jq '.[0] | {message: .commit.message, name: .commit.committer.name}'
可用過(guò)連續(xù)的.操作獲取對(duì)應(yīng)json對(duì)象中的屬性值, 上面的命令將會(huì)生成一個(gè){message: "....", name: "...."}的json對(duì)象.
shell文件讀寫(xiě)
1、寫(xiě)
方式一:
將ll的內(nèi)容寫(xiě)入fileName這個(gè)文件中
>是覆蓋, >>是在后面追加
ll >fileName
但是在書(shū)寫(xiě).sh腳本的時(shí)候, 需要增加echo
echo ll>fileName
2、讀
while read LINE do echo $LINE done<fileName
fileName是即將讀取的文件名
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)腳本之家的支持。
相關(guān)文章
關(guān)于Windows 不能在 本地計(jì)算器 啟動(dòng) Apache2(phpstudy)
今天在自己的本子上準(zhǔn)備放多個(gè)虛擬站點(diǎn)。用的是#phpstudy#。在軟件自身的站點(diǎn)設(shè)置中,根據(jù)提示添加的多站點(diǎn)無(wú)效不知道是否和我的系統(tǒng)是Win7有關(guān)2012-09-09
Linux系統(tǒng)下 centos7下搭建ElasticSearch中間件及常用接口演示
ElasticSearch是一個(gè)基于Lucene的搜索服務(wù)器。它提供了一個(gè)分布式多用戶(hù)能力的全文搜索引擎,基于RESTful web接口。這篇文章主要介紹了Linux系統(tǒng)下 centos7下搭建ElasticSearch中間件及常用接口演示 ,需要的朋友可以參考下2019-07-07
詳解linux centos yum安裝LAMP環(huán)境
本篇文章主要介紹了linux centos yum安裝LAMP環(huán)境 ,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧。2016-12-12
CentOS7環(huán)境搭建python3以及與python2實(shí)現(xiàn)共存的方法
這篇文章主要介紹了CentOS7環(huán)境搭建python3以及與python2實(shí)現(xiàn)共存的方法,結(jié)合實(shí)例形式簡(jiǎn)單分析了CentOS7環(huán)境下安裝Python3的步驟、命令及測(cè)試代碼示例,非常簡(jiǎn)單易懂,需要的朋友可以參考下2018-06-06
服務(wù)器安全狗Linux版軟件安裝使用說(shuō)明
今天看官方新推出了服務(wù)器安全狗Linux版,用windows版的時(shí)候感覺(jué)這個(gè)軟件不錯(cuò),沒(méi)想到推出了linux版,大家有什么問(wèn)題可以回復(fù)啊2011-10-10

