Shell指令碼入門

2021-10-14 11:10:50 字數 3368 閱讀 1347

什麼是shell指令碼?

shell指令碼與windows/dos下的批處理相似,也就是用各類命令預先放入到乙個檔案中,方便一次性執行的乙個程式檔案,主要是方便管理員進行設定或者管理用的。但是它比windows下的批處理更強大,比用其他程式設計程式編輯的程式效率更高,它使用了linux/unix下的命令。

shell 和python都是弱語言

1:變數的規則

定義變數規則:變數名=值

shell定義變數的規則:

1:等號兩邊不能有空格

2:定義特殊的變數需要用單引號或者雙引號結合

3:定義linux命令需要用反單引號

2:指令碼的命名格式

指令碼名稱使用.sh結尾
3:指令碼的起始行格式

第一行必須寫# !/bin/bash
4:指令碼輸入輸出格式

1:輸入語句用:read

2:shell輸出值:echo $變數名

5: 指令碼的呼叫

方式1:./指令碼名.sh(許可權的問題)

方式2: sh 指令碼名.sh

注意點:read可以傳遞多個資料   read –p」name and 			passwoed」name  password

超過的部分都填充在最後乙個變數上

6:引數傳遞

引數傳遞 :向.s**件中傳遞資料

格式: sh 指令碼名.sh 引數

$1:接收第乙個引數~~$n

$n:檔名稱

$@:所有引數 s

$#引數個數 $0

7:比較運算子和邏輯運算子

(1)比較運算子(數字)

-eq 比較是否相等

-ne 比較不相等

-gt 比較大於

-ge 比較大於等於

-lt 比較小於

-le 比較小於等於

(2)比較運算子(字串)

== 比較是否相等

!= 比較不相等

加一操作:((i++)) ((i+=1))

加n操作:

s=$(($s+$i)) s=$[$s+$i] ((s=$s+$i))

(3)邏輯運算子:

-a 邏輯與 -o邏輯或 !邏輯非

8:if語句

格式:

if [ 條件 ]

then

語句else

語句fi

注意點:

1: if後面有空格,

2:條件兩邊有空格,

3:if條件裡面存在變數,需要$,而且變數兩邊需要雙引號,

4:fi是結束標識

練習:判斷使用者輸入的使用者名稱(name)和密碼(password)是否為admin 和 123456,如果是則提示登入成功(success),否則提示失敗(fail)

9.if elif語句

格式:

if [ 條件 ]

then

輸出語句

elif [ 條件 ]

then

輸出語句

......

else

輸出語句

fi

練習:輸入學生的成績,80練習:輸入乙個序號,判斷該使用者選擇哪款產品,a:筆記本 b:電飯鍋 c:小霸王

練習:請輸入對客服的滿意度,【0-3】非常滿意,【4-7】滿意,【8-9】不滿意

11.for迴圈

格式:

for 變數 in 列表

do語句

done

注意1: 結束標誌done

擴充:試想列表中的元素過多的時候,需要怎麼做?
seq mix step max

注意:mix 開始資料 step:間隔 max 結束資料,如果step為1,可以省略,需要用反單引號

12.while迴圈

格式:

while [ 條件 ]

do語句

done

注意:1: while後面有空格,

2:條件兩邊有空格,

3:while條件裡面存在變數,需要$,而且變數兩邊需要雙引號,

4:done是結束標識

練習:求1-100之間的和

1:定義格式

函式名()

呼叫格式

函式名注意點:必須先定義乙個函式,然後再呼叫它

2:函式中的引數

使用$n來接收資料

練習:輸入1,100兩個整數進行求和運算,並列印結果

練習:輸入任意兩個整數進行求和運算,並列印結果

3:函式中的返回值

shell中函式中預設存在返回值

檢視函式的返回值?

注意點:

如果沒有**錯誤預設返回值為0,

有**錯誤返回1

檢視返回值內容:$?

Shell指令碼(三) Shell指令碼入門

1 指令碼格式 指令碼以 bin bash開頭 指定解析器 2 第乙個shell指令碼 helloworld 1 需求 建立乙個shell指令碼,輸出helloworld 2 案例實操 atguigu hadoop101 datas touch helloworld.sh atguigu hadoo...

shell 指令碼入門

shell 是乙個用 c 語言編寫的程式,它是使用者使用 linux 的橋梁。shell 既是一種命令語言,又是一種程式語言。shell 是指一種應用程式,這個應用程式提供了乙個介面,使用者通過這個介面訪問作業系統核心的服務。ken thompson 的 sh 是第一種 unix shell,win...

shell指令碼入門

str wxz echo 輸出 3 提取子字串 以下例項從字串第 2 個字元開始擷取 4 個字元 string the shell script is great echo 輸出 he s查詢子字串 查詢字元 i 或 s 的位置 string runoob is a great company ec...