Shell腳本

一、Shell腳本的規(guī)則

? ? 1、Shell 和python都是弱語(yǔ)言

? ? 2、變量的規(guī)則:變量名=值

? ? 3、shell定義變量的規(guī)則:

? ? ? ? (1)等號(hào)兩邊不能有空格

? ? ? ? (2)定義特殊的變量需要用單引號(hào)或者雙引號(hào)結(jié)合

? ? ? ? (3)定義linux命令需要用反單引號(hào)

????4、區(qū)分單引號(hào)和雙引號(hào)的不同和相同點(diǎn)

? ? ? ?(1) 雙引號(hào)中有$變量名,輸出的是變量名對(duì)應(yīng)的變量值

? ? ? ?(2)單引號(hào)中有$變量名,輸出的是$變量名

? ? 5、腳本的命名格式:腳本名稱使用.sh結(jié)尾

? ? 6、腳本的起始行格式:第一行必須寫(xiě)# !/bin/bash

? ? 7、執(zhí)行腳本兩種方式:./a.sh? ? ? ? sh a.sh

? ? 8、、腳本輸入輸出格式

? ? ? ? ? ? (1)輸入語(yǔ)句用:read-p"描述"

? ? ? ? ? ? (2)Shell輸出值:echo$變量名

? ? 9、腳本的調(diào)用

? ??????????方式1:./腳本名.sh(權(quán)限的問(wèn)題)

????????????方式2: sh 腳本名.sh

? ? 10、參數(shù)傳遞

? ? ? ?(1) $1:接收第一個(gè)參數(shù)~~$n

? ? ? ?(2)$n: 文件名稱

? ? ? ?(3)$@: 所有參數(shù) s

? ? ? ?(4)$#: 參數(shù)個(gè)數(shù)? $0

? ? 11、比較運(yùn)算符和邏輯運(yùn)算符

? ??????(1)比較運(yùn)算符(數(shù)字)

????????????-eq 比較是否相等equal

????????????-ne 比較不相等? ? ? ? ? not????equal

????????????-gt 比較大于? ? ? ? ? ? greater than

????????????-ge? 比較大于等于? ? ? greater????equal

????????????-lt? 比較小于? ? ? ? ? less than

????????????-le? 比較小于等于? ? ? less????equal

? ???????(2)比較運(yùn)算符(字符串)

????????????????==? 比較是否相等

????????????????!=? 比較不相等

? ????????(3)邏輯運(yùn)算符?

? ? ? ? ? ? ? ? ? ? (1)-a 邏輯與? ? ? (2)-o邏輯或? ? ? (3)!邏輯非

二、if語(yǔ)句

? ? ? ? ? ? (1)單條件語(yǔ)句格式:

? ?????????????????????? if [ 條件 ]

? ? ? ? ? ? ? ? ? ? ? ? then

????????????????????????語(yǔ)句

????????????????????????else

????????????????????????語(yǔ)句

????????????????????????fi

? ? ? ? 注意點(diǎn):1: if后面有空格,

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 2:條件兩邊有空格,

????????????????????????????????3:if條件里面存在變量,需要$,而且變量?jī)蛇呅枰p引號(hào),

????????????????????????????????4:fi是結(jié)束標(biāo)識(shí)

? ? ? ? ? (2)多條件語(yǔ)句格式:

? ??????????????????????????????????????????if [ 條件 ]

????????????????????????????????????????????then

????????????????????????????????????????????語(yǔ)句

????????????????????????????????????????????elif [ 條件 ]

????????????????????????????????????????????then

????????????????????????????????????????????語(yǔ)句

????????????????????????????????????????????......

????????????????????????????????????????????else

????????????????????????????????????????????語(yǔ)句

????????????????????????????????????????????fi

三、case規(guī)則

? ?(1)格式:

? ??????????????????case $變量名 in

????????????????????"值")

????????????????????語(yǔ)句;;

????????????????????"值")

????????????????????語(yǔ)句;;

????????????????????.....

????????????????????esac

注意點(diǎn):1:case這第一行以in結(jié)尾?

????????????????2:值可以是字符串也可以是數(shù)字, 如果數(shù)字范圍[0-9] ?

????????????????3:結(jié)束語(yǔ)句;;

????????????????4:esac結(jié)束標(biāo)志

四、For循環(huán)

? ? ? ? ? ? (1)格式:

? ??????????????????????????????for 變量 in 列表

????????????????????????????????do

????????????????????????????????語(yǔ)句

????????????????????????????????done

? ? 注意點(diǎn):done是結(jié)束標(biāo)志

五、While循環(huán)

? ? ? ? ? ? (1)格式:

? ??????????????????????????while [條 件 ]

? ????????????????????????? do

? ????????????????????????? 語(yǔ)句

? ????????????????????????? done

注意點(diǎn):??1: while后面有空格,?

????????????????2:條件兩邊有空格,?

????????????????3:while條件里面存在變量,需要$,而且變量?jī)蛇呅枰p引號(hào),?

????????????????4:done是結(jié)束標(biāo)識(shí)

六、Shell腳本的函數(shù)

? ? ? ? ? ? (1)定義格式:

? ??????????????????????????????????函數(shù)名(){代碼 }

????????????????????????????????????調(diào)用格式

????????????????????????????????????函數(shù)名

? ???????????注意點(diǎn):必須先定義一個(gè)函數(shù),然后再調(diào)用它???

? ? ? ? ? ? (2)函數(shù)中的參數(shù):使用$n來(lái)接收數(shù)據(jù)

? ? ? ? ? ? (3)函數(shù)中的返回值:Shell中函數(shù)中默認(rèn)存在返回值

? ? ? ? ? ? (4)查看函數(shù)的返回值:$?

注意點(diǎn):(1)如果沒(méi)有代碼錯(cuò)誤默認(rèn)返回值為0

????????????(2)有代碼錯(cuò)誤返回1

????????????(3)查看返回值內(nèi)容:$?

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 一、Shell介紹 1、什么是shell腳本 Shell腳本與Windows/Dos下的批處理相似,也就是用各類命...
    Anwfly閱讀 1,893評(píng)論 0 8
  • 菜鳥(niǎo)教程shell在線編輯器大目錄整理: 1.第一個(gè) Shell 腳本嘗試 2.Shell 變量 3.Shell ...
    中酷男閱讀 6,033評(píng)論 0 12
  • 用了caffe有一段時(shí)間了,感覺(jué)自己寫(xiě)shell腳本的能力有待提高,特地從菜鳥(niǎo)筆記處系統(tǒng)的看了一遍,其實(shí)學(xué)習(xí)基礎(chǔ)就...
    yichen_china閱讀 1,878評(píng)論 2 30
  • 特別說(shuō)明:以下內(nèi)容來(lái)自簡(jiǎn)書(shū),鏈接為原文出處,一切權(quán)益歸原作者所有,在此感謝原作者的分享,大家可以點(diǎn)擊以下鏈接查看原...
    沈祥佑閱讀 621評(píng)論 0 4
  • 概念和原理 Shell是什么? Shell 是一個(gè)用 C 語(yǔ)言編寫(xiě)的程序,它是用戶使用 Linux 的橋梁。 Sh...
    陵無(wú)山閱讀 3,681評(píng)論 0 27

友情鏈接更多精彩內(nèi)容