Shell脚本详细介绍
一:Shell介紹
Shell 是一個(gè) C 語(yǔ)言編寫的腳本語(yǔ)言,它是用戶與 Linux 的橋梁,用戶輸入命令交給 Shell 處理,shell是一個(gè)命令解釋器,是一個(gè)工具箱, Shell 將相應(yīng)的操作傳遞給內(nèi)核(Kernel),內(nèi)核把處理的結(jié)果輸出給用戶。
二:Shell定義變量規(guī)則
Shell 和python都是弱語(yǔ)言
定義變量規(guī)則:變量名=值
shell定義變量的規(guī)則:
1:等號(hào)兩邊不能有空格2:定義特殊的變量需要用單引號(hào)或者雙引號(hào)結(jié)合3:定義linux命令需要用反單引號(hào)區(qū)分單引號(hào)和雙引號(hào)的相同點(diǎn)
單引號(hào):單引號(hào)' '包圍變量的值時(shí),單引號(hào)里面是什么就輸出什么,即使內(nèi)容 中有變量和命令也會(huì)把它們?cè)瓨虞敵觥? 雙引號(hào):雙引號(hào)" "包圍變量的值時(shí),輸出時(shí)會(huì)先解析里面的變量和命令,而不是 把雙引號(hào)中的變量名和命令原樣輸出。Shell取值
使用:echo $變量名圖片展示:
三:Shell腳本的規(guī)則
1.執(zhí)行shell腳本
1:腳本名稱使用.sh結(jié)尾
2:第一行必須寫# !/bin/bash
3:輸入語(yǔ)句用read
4:輸出語(yǔ)句用:echo
5: 調(diào)用的時(shí)候
./腳本名.sh(權(quán)限的問(wèn)題) sh 腳本名.sh圖片展示:
注意:
read可以傳遞多個(gè)數(shù)據(jù)
read –p”name and password”name password
超過(guò)的部分都填充在最后一個(gè)變量上
2.參數(shù)傳遞
向.sh文件中傳遞數(shù)據(jù)
格式: sh 腳本名.sh 參數(shù)
圖片展示:
四:Shell運(yùn)算符
1.比較運(yùn)算符
(數(shù)字類型)
(字符串類型判斷)
== 比較是否相等!= 比較不等于2.邏輯運(yùn)算符
((i++)) ((i+=1)) s=$(($s+$i)) s=$[$s+$i] ((s=$s+$i))五:Shell if語(yǔ)句
格式:
if [ 條件 ] then 語(yǔ)句 elif [ 條件 ] then 語(yǔ)句 ...... else 語(yǔ)句 fi注意:
1:if后面有空格,
2:條件兩邊有空格
3:if條件里面存在變量,需要$,而且變量?jī)蛇呅枰p引號(hào)
4:fi是結(jié)束標(biāo)識(shí)
圖片展示:
六:Shell case循環(huán)語(yǔ)句
case規(guī)則
case $變量名 in "值") 語(yǔ)句;; "值") 語(yǔ)句;; ..... esac注意:
1:case這第一行以in結(jié)尾
2:值可以是字符串也可以是數(shù)字, 如果數(shù)字范圍[0-9]
3:結(jié)束語(yǔ)句;
4:esac結(jié)束標(biāo)志
圖片展示:
七:Shell for循環(huán)
格式:
for 變量 in 列表 do 語(yǔ)句 done列表元素過(guò)多使用:seq mix step max
注意:mix 開始數(shù)據(jù) step:間隔 max 結(jié)束數(shù)據(jù),如果step為1,可以省略
圖片展示:
八:Shell while循環(huán)
格式:
while [ 條件 ] do 語(yǔ)句 done圖片展示:
九:Shell 函數(shù)
格式:
函數(shù)名(){代碼} 函數(shù)名注意:必須先定義一個(gè)函數(shù),然后再調(diào)用它
圖片展示:
函數(shù)中的參數(shù)
使用$n來(lái)接收數(shù)據(jù)
圖片展示:
查看函數(shù)的返回值
Shell中函數(shù)中默認(rèn)存在返回值
查看函數(shù)的返回值使用 $?
注意:
如果沒有代碼錯(cuò)誤默認(rèn)返回值為0,
有代碼錯(cuò)誤返回1
圖片展示:
總結(jié)
以上是生活随笔為你收集整理的Shell脚本详细介绍的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: RobotFramework+jenki
- 下一篇: 测试的模块总结