天天看點

linux-shell程式設計

Shell使用c語言編寫的程式,通過Shell,使用者可以通路作業系統核心服務。它既是一種指令語言,又是一種程式設計語言。

Linux的Shell種類衆多,一個系統可以存在多個Shell,通過

cat /etc/shells

指令檢視系統中安裝的Shell。

由于Bash易用、免費,是以在工作中被廣泛使用。同時,Bash也是大多數Liunx系統預設的Shell。

#! /bin/bash
echo "Hello"
           

#!是一個約定的标記,它告訴系統這個腳本需要什麼解釋器來執行,即使用哪一種Shell.

echo 指令用于向視窗輸出文本。

Shell 腳本的執行:

chmod +x ./hello.sh  #使腳本具有執行權限
./hello.sh   #執行腳本
           

Shell變量

變量=值,a=“test”

注意:變量名和等号之間不能有空格,同時,變量名的命名須遵循如下規則:

  • 首個字元必須為字母(a-z,A-Z)
  • 中間不能有空格,可以使用下劃線(_)
  • 不能使用标點符号
  • 不能使用bash裡面的關鍵字(可用help指令檢視保留關鍵字)

    變量使用:

    使用一個定義過的變量,隻要在變量名前面加$即可。

    a=“test”

    echo $a

    linux-shell程式設計

Shell 運算符

Shell 和其他程式設計語言一樣,支援包括:算術、關系、 布爾、字元串等運算符。

原生 bash 不支援簡單的數學運算,但是可以通過其他指令來實作,例如expr。

expr 是一款表達式計算工具,使用它能完成表達式的求值操作。

例如加,減,乘,除等操作

注意:表達式和運算符之間要有空格,例如 2+2 是不對的,必須寫成 2 + 2。

完整的表達式要被``包含,注意不是單引号,在 Esc 鍵下邊。

#!/bin/bash
echo "hello world"
a=4
b=20
#加法運算
echo `expr $a + $b`
#減法運算
echo `expr $b - $a`
#乘法運算,注意*号前面需要反斜杠
echo `expr $a \* $b`

#除法運算
echo `expr $b / $a`
           

流程控制

**if  else  語句**
if ...
then ...
elif ...
then ...
else ...
fi
           

EQ 就是 EQUAL等于

NQ 就是 NOT EQUAL不等于

GT 就是 GREATER THAN大于 

LT 就是 LESS THAN小于

GE 就是 GREATER THAN OR EQUAL 大于等于

LE 就是 LESS THAN OR EQUAL 小于等于

for循環

for n in 1 2 3
do
echo $n
done
列印1-3
           

while循環

while …

do …

done

函數使用

所有函數在使用前必須定義。這意味着必須将函數放在腳本開始部分,直至

shell 解釋器首次發現它時,才可以使用。 調用函數僅使用其函數名即可。

1、可以帶 function fun()定義,也可以直接 fun() 定義,不帶任何參數。

2、參數傳回,可以顯示加 return ,如果不加,将以最後一條指令運作結

果,作為傳回值。 return 後跟數值 n(0-255)。

#!/bin/bash
hello(){
 echo "hello world"
 echo "第一個參數為 $1"
 echo "第二個參數為 $2"
}
hello abc 123
           

繼續閱讀