shell腳本語法隨筆

1、循環
1.1、類C循環
例:求1100的和
sum=0
for ((i=1;i<=100;i++))
do
     let sum+=i
done

1.2for in循環
例:輸出參數列表所有參數
for i in $@
do
     echo $i
done

1.3while循環
例:求 1100的和
sum=0
x=1
while x<=100
do
     let sum+=x 
     let x+=1
done

1.4、until循環,直到條件成立才退出
例:求1100的和
sum=0
x=0
until x>100      #條件爲假循環
do
     let sum+=x
     let x+=1
done

2、函數
2.1、函數定義格式:
function 函數名()
{
#函數實現
}

說明:function是定義函數的關鍵字,可以省略後面的"()"只是起到形式作用,並沒有實際功能。傳參的時候通過$1...可以獲取函數的參數。在函數內定義的變量在當前shell腳本中是全局有效的,如果只想要其在函數代碼塊內有效的話,可以加"local"關鍵字進行修飾。
兩條重要的概念:
將函數定義看做是一個小型腳本,函數的參數分別是$0表示腳本的名稱,函數的參數是$1...。
將函數調用看做是一條命令,直接函數名跟上參數就可以。

2.2、獲取函數的返回值
可以在函數內打印出返回值,然後在調用函數的使用命令替換接收返回值。
例:
這裏寫圖片描述
還可以使用在本腳本內全局的變量進行返回,不過這種方式不太安全。

使用return返回退出碼對返回結果進行檢測。
例:
這裏寫圖片描述
注意:fun也是一條命令,他也有退出碼,所以可以作爲if的測試語句。

3、捕捉信號
命令:trap 自定義處理函數 信號
例:
這裏寫圖片描述
這裏寫圖片描述

4、在腳本文件中還可以引入其他腳本文件
格式:source 頭文件 或 . 頭文件 就可以了,這個頭文件裏面可以放一些函數的定義。

5、在腳本中從文件裏面讀取內容
例:
這裏寫圖片描述
這表示每次從file.txt裏面讀取一行內容,然後輸出,直到讀到文件結尾爲止。

例2:
這裏寫圖片描述
表示將file.txt的內容全部顯示出來,然後通過管道讓read讀取。

6、向文件裏面寫內容
例:
這裏寫圖片描述
表示從cat開始,到EOF這個標誌之間的內容都追加到file文件裏面。這個結束標誌可以隨便定義,沒有規定必須是EOF。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章