什麼是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...