1. 程式人生 > >shell編程基本語法

shell編程基本語法

定義 變量賦值 加減乘除 其他 表達式 不用 cname 使用 until

編寫shell腳本的時候,最前面要加上一行:#!/bin/bash,因為linux裏面不僅僅只有bash一個解析器,還有其它的,它們之間的語法會有一些不同,所以最好加上這一句話,告訴系統要用這個解析器。

一.shell變量

shell變量和一些編程語言不同,一般shell的變量賦值的時候不用帶“$”,而使用或者輸出的時候要帶“$”。加減乘除的時候要加兩層小括號。括號外面要有一個“$”,括號裏面的變量可以不用“$”。需要註意的是,變量賦值,變量使用的時候不能有空格,否則會被解析成命令,報錯無此命令。

例子:
技術分享圖片
結果如下圖:
技術分享圖片
二.shell變量表達式
技術分享圖片
例子:
技術分享圖片
結果如圖:
技術分享圖片
三.shell測試判斷test或[]

需要註意的是使用[]的時候必須要每個變量之間都要有空格,和左右中括號也要有空格,否則報錯。

技術分享圖片
結果如圖:
技術分享圖片
四.shell條件分支結構語句

1.單分支判斷語句

格式:if 條件 ; then 結果 fi ,最後面一定要有fi,在shell腳本裏面,控制分支結構結束都要和開頭的單詞相反,例如,if <–> fi,case <–> esac。
技術分享圖片
結果如圖:
技術分享圖片
2.雙分支判斷語句
技術分享圖片
結果如圖:
技術分享圖片
3.多分支判斷語句

多分支判斷有兩種,和C語言的一樣 if else if,case。只是形式上有一些不同。
技術分享圖片
結果如圖:
技術分享圖片
技術分享圖片
結果如圖:
技術分享圖片
五.shell循環語句

1.while語句

while語句是只要條件為真就執行下面語句。
格式:
while 條件
do
語句
done

需要註意的是,這裏的條件除了 while true 可以這樣寫,其它的條件都要用 test或者 []來判斷

技術分享圖片
技術分享圖片
2.until語句

until語句是只要條件為假就執行下列語句
格式:
until 條件
do
語句
done
技術分享圖片
結果如圖:
技術分享圖片
3.for語句

格式:
for 變量 in 列表
do
語句
done
技術分享圖片
結果如圖:
技術分享圖片
六.shell函數

格式:
[function] funcName()
{
語句
[return 返回值]
}
返回值是可選的,如果沒有顯示return 則默認返回最後一條語句執行的結果。

Shell 函數返回值只能是整數,一般用來表示函數執行成功與否,0表示成功,其他值表示失敗。如果 return 其他數據,比如一個字符串,往往會得到錯誤提示:“numeric argument required”。

如果一定要讓函數返回字符串,那麽可以先定義一個變量,用來接收函數的計算結果,腳本在需要的時候訪問這個變量來獲得函數返回值。

函數參數從$1到$n,$0 是文件名。

例子:
技術分享圖片
結果如圖:
技術分享圖片
返回字符串,報錯
技術分享圖片
結果如圖:
技術分享圖片

shell編程基本語法