shell腳本命令格式注意點


1、大部分的Linux系統默認配置bash。對比shbash擴展了一些命令和參數,並且保留對sh的一些兼容。除了bashsh還有csh(語法類似C語言)、tcshcsh升級版)、ash(適合低內存環境)

2、腳本開頭 #!/bin/sh , #!必須有,后面跟上的是shell的路徑

3、變量賦值和取值

(1) Bash shell 在默認情況下不會區分變量類型,即使你將整數和小數賦值給變量,它們也會被視為字符串,這一點和大部分的編程語言不同。

variable=value  注意:賦值號左右不能留空格

(2) $后面跟上變量表示讀取變量里面的值,特殊情況可以加上{}表示變量的邊界

 輸出結果:

(3) 單引號和雙引號的區別:以單引號' '包圍變量的值時,單引號里面是什么就輸出什么,即使內容中有變量也會把它們原樣輸出,雙引號內的變量才會取值輸出

 輸出結果:

4、Linux命令結果賦值:用反引號(Esc下面、tab上面的點)表示

 輸出結果:

5、運算符:

(1) expr :后面跟上需要運算的算法,需要用反引號,每個參數間要有空格

(2) $((  )): 算法要有空格

(3) let: 算法不能有空格

 輸出結果:

6、數組定義

(1) 或者

 

(2) 取值:

7、If...else...if: 和常用編程語言的區別在於結束是用fi表示,每個條件后面要加上then

(1) 方括號([ ])內的參數之間必須有空格

 

(2) 多條件判斷

 

8、 case ... esac :類似其他語言的switch ... casecase工作方式如上所示。取值后面必須為關鍵字 in,每一模式必須以右括號結束。取值可以為變量或常數。匹配發現取值符合某一模式后,其間所有命令開始執行直至 ;;;; 與其他語言中的 break 類似,意思是跳到整個 case 語句的最后。

 

9、While 循環

 

10、Shell 函數:可以將可能重復用到的命令封裝成一個函數,函數可以帶返回值,函數內用return返回,函數外用$?接收返回值。Shell 函數返回值只能是整數,一般用來表示函數執行成功與否,0表示成功,其他值表示失敗。如果 return 其他數據,比如一個字符串,往往會得到錯誤提示:“numeric argument required”。

如果有需要返回其他類型的值,可以在外部定義一個變量,來接受結果。

 

11、參數:shell腳本可以帶參數,在腳本中,通過 $n 的形式來獲取參數的值,例如,$1表示第一個參數,$2表示第二個參數...

 

12、“#”井號表示注釋

13、特殊字符

特殊變量

說明

$#

傳遞給函數的參數個數。

$*

顯示所有傳遞給函數的參數

$?

函數的返回值。

$0

當前腳本的文件名

$$

當前Shell進程ID

-eq

檢測兩個數是否相等,相等返回 true

-ne

檢測兩個數是否相等,不相等返回 true

-gt

檢測左邊的數是否大於右邊的,如果是,則返回 true

-lt

檢測左邊的數是否小於右邊的,如果是,則返回 true

-ge

檢測左邊的數是否大等於右邊的,如果是,則返回 true

-le

檢測左邊的數是否小於等於右邊的,如果是,則返回 true


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM