1、創建腳本、運行
(1)創建
vi、gedit編寫腳本
注:首行 #! /bin/bash 告訴系統此腳本的解釋器為/bin/bash
(2)運行
./ shell腳本名
sh shell腳本名
. shell腳本名
2、shell變量
(1)自定義變量
變量名=變量值
注:=兩邊無空格 獲取變量的值:$變量名
(2)參數位置變量
$0、$1、...、$9
shift [n]
位置參數左移n位,不帶參數默認左移1位 ==>防止參數大于10個
(3)特殊變量
$#:傳遞給腳本參數的個數
$*:參數的集合
3、輸入、輸出
(1)read
read var
(2)echo
echo $var
(3)export
將父腳本中的變量導入到子腳本中
father.script son.script
export var echo var
sh son.script
4、邏輯判斷
(1)條件測試
a、test 條件表達式
b、[ 條件表達式 ]
注: [ ] 前后都有空格
(2)比較
a、字符串比較
string1 = string2 #相等,返回真
string1 != string2 #不相等,返回真
-n string #不空,返回真
注: = != 兩邊均有空格 $str
b、算數比較
expression1 -eq expresssion2 #==
expression1 -ne expresssion2 #!=
expression1 -gt expresssion2 #> greater than
expression1 -ge expresssion2 #>= greater equal
expression1 -lt expresssion2 #< less than
expression1 -le expresssion2 #<= less equal
c、文件測試
-d file #文件夾
-f file #文件
-s file #文件長度>0
-r file #可讀
-w file #可寫
-x file #可執行
d、邏輯運算
大致與c語言相同
AND:&&
OR:||
eg: if [ .. ] && [ .. ]
5、算數運算
(1) $(())
在括號內進行數學運算,eg: c=$((a+a*b-b)) #num
若:c=num+num,此時c為num + num的字符串
可用于命令窗口、腳本
(2)let
只能用于命令窗口,不能用于腳本
6、控制結構
(1)if
(2)for
(3)while
(4)break、continue
同c語言中的break、continue