欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

一步步教你如何編寫Shell腳本

 更新時間:2017年04月04日 17:03:01   作者:kkooff144  
這篇文章主要介紹了關(guān)于如何編寫Shell腳本的相關(guān)資料,文中介紹的非常詳細,對大家具有一定的參考價值,需要的朋友下面跟著小編來一起學習學習吧。

問題:

  • 請求在線api, 獲取json格式的返回結(jié)果
  • 解析json里面的一個值
  • 將該值存儲到文件

開發(fā)準備

1、shell

快速入門:

#!/bin/sh
cd ~
mkdir shell_tut
cd shell_tut
for ((i=0; i<10; i++)); do
 touch test_$i.txt
done

創(chuàng)建一個文件夾, 并在里面新建10個文件

2、curl

使用curl請求網(wǎng)絡(luò), 并獲取返回值

curl基本用法:

$ curl www.sina.com

直接返回網(wǎng)頁內(nèi)容

$ curl -o [文件名] www.sina.com

將網(wǎng)頁內(nèi)容存儲到文件中, 相當于wget命令

賦值操作:

response=$(curl www.sina.com)
echo $response

注意: =前后沒有空格

jq

jq是命令行解析json的很好的工具

安裝

直接到官網(wǎng)下載Linux64版本(我是用本地下載好后傳上服務(wù)器的, 之前直接在服務(wù)器用wget下載一直報錯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'

返回的是一個json數(shù)組列表

curl 'https://api.github.com/repos/stedolan/jq/commits?per_page=5' | jq '.'

使用.直接指向json的根節(jié)點

curl 'https://api.github.com/repos/stedolan/jq/commits?per_page=5' | jq '.[0]'

[0]為取數(shù)組的第0位的對象

jq '.[0] | {message: .commit.message, name: .commit.committer.name}'

可用過連續(xù)的.操作獲取對應(yīng)json對象中的屬性值, 上面的命令將會生成一個{message: "....", name: "...."}的json對象.

shell文件讀寫

1、寫

方式一:

將ll的內(nèi)容寫入fileName這個文件中

>是覆蓋, >>是在后面追加

ll >fileName

但是在書寫.sh腳本的時候, 需要增加echo

echo ll>fileName

2、讀

while read LINE
do
echo $LINE
done<fileName

fileName是即將讀取的文件名

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

相關(guān)文章

  • linux chroot命令詳解

    linux chroot命令詳解

    這篇文章主要介紹了linux chroot命令詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-03-03
  • Ubuntu安裝Matlab2020b詳細教程和資源

    Ubuntu安裝Matlab2020b詳細教程和資源

    大家好,本篇文章主要講的是Ubuntu安裝Matlab2020詳細教程和資源,感興趣的同學趕快來看一看吧,希望對你有幫助
    2021-11-11
  • linux防火墻狀態(tài)查看的方法實例

    linux防火墻狀態(tài)查看的方法實例

    在本篇文章了小編給大家整理了關(guān)于linux防火墻狀態(tài)查看的方法實例的相關(guān)內(nèi)容,需要的朋友們可以學習下。
    2020-02-02
  • 深入理解Bash中的尖括號(適合初學者)

    深入理解Bash中的尖括號(適合初學者)

    這篇文章主要給大家介紹了關(guān)于Bash中尖括號的相關(guān)資料,本文非常適合初學者,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-02-02
  • Linux兩個服務(wù)器實現(xiàn)數(shù)據(jù)同步方案

    Linux兩個服務(wù)器實現(xiàn)數(shù)據(jù)同步方案

    這篇文章主要介紹了Linux兩個服務(wù)器實現(xiàn)數(shù)據(jù)同步方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • linux安裝apache過程中注意的問題

    linux安裝apache過程中注意的問題

    這篇文章主要為大家介紹了linux安裝apache過程中注意的問題,幫助大家進行順利安裝,感興趣的小伙伴們可以參考一下
    2016-01-01
  • Linux宿主機下/容器下如何修改進程打開的文件句柄數(shù)(open files)

    Linux宿主機下/容器下如何修改進程打開的文件句柄數(shù)(open files)

    系統(tǒng)級的max-file和進程級的ulimit-n分別控制文件句柄的最大數(shù)量,系統(tǒng)級限制整個系統(tǒng),而ulimit-n只限制單個進程,當進程打開的文件句柄數(shù)超限時,會報“Too many files open”錯誤,可以通過特定命令查看和修改這些值
    2024-10-10
  • Linux下如何生成coredump文件

    Linux下如何生成coredump文件

    這篇文章主要介紹了Linux下如何生成coredump文件問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • centos 5 手動分區(qū)來安裝系統(tǒng)的方法

    centos 5 手動分區(qū)來安裝系統(tǒng)的方法

    近來我想體驗一下centos系統(tǒng),于是在虛擬機中安裝了centos 5。
    2010-03-03
  • 解決生產(chǎn)環(huán)境遇到的curl和yum命令報錯問題

    解決生產(chǎn)環(huán)境遇到的curl和yum命令報錯問題

    在銀河麒麟V10SP2arm64系統(tǒng)下,升級sshd服務(wù)同時升級了openssl至1.1.1l版本,導(dǎo)致curl和yum命令報錯,分析原因是openssl版本與libcurl.so.4文件不兼容,嘗試修復(fù)無效后,通過重新編譯安裝curl解決問題,建議在升級openssl時謹慎
    2024-09-09

最新評論