一、標註執行此shell 用的是那種版本的 shell 命令 比較常見的是
#! /bin/sh
$0 shell 命令
$# 傳遞給程序的參數數目
$? 前一個shell命令的執行結果,如果正常則爲0, <span style="color:#ff0000;">(如下面講到的比較操作命令,如果比較是成立的則會正常退出,然會就是0,不成立則是不正常退出返回 1)</span>
$* 傳遞個shell 腳本的所有參數字符串,不包括 $0
三、變量
shell 中變量爲弱類型的。直接賦值就可以了使用變量的時候在變量名稱前加 $ 就可以了,需要注意的是變量賦值的時候 = 兩邊不能有空格
x=8 #注意 = 兩邊都不能有空格,否則會把 x 當成一個命令
a="how are you”
echo $x
echo $a
1、字符串比較
a="a" #
b="b"
[ $a = $b ]
echo $?
[ $a != $b ]
echo $?
[ -n $a ] #
echo $?
[ -z $a ]
echo $?
2、數字比較
c=1
d=2
[ $c -eq $d ] #相等
echo $?
[ $c -ge $d ] #大於等於
echo $?
[ $c -le $d ] #小於等於
echo $?
[ $c -ne $d ] #不等
echo $?
[ $c -gt $d ] #大於
echo $?
[ $c -lt $d ] #小於
echo $?
[ ! $c -eq $d ] #邏輯非
echo $?
[ $c -eq $d -a $c -lt $d ] #邏輯與
echo $?
[ $c -eq $d -o $c -lt $d ] #邏輯或
echo $?
4、文件操作
[ -d $file ] 判斷文件是否爲文件夾
[ -f $file ] 判斷文件是否爲文件
[ -L $file ] 判斷文件是否爲符號鏈接
[ -r $file ] 判斷文件是否可讀
[ -s $file ] 判斷文件是否存在且長度爲非0
[ -w $file ] 判斷文件是否可寫
[ -x $file ] 判斷文件可執行
五、循環結構
1、
for 變量 in 列表
do
操作
done
2、
while 表達式
do
操作
done
3、
until 表達式
do
操作
done
六、條件結構
if 表達式 #注意then 要另起一行否則語法錯誤
then
操作
elif 表達式
then
操作
else
操作
if
case 表達式 in
值1 | 值2 )
操作;;
值3|值4)
操作;;
*)
操作;;
esac
七、函數
函數名()
{
}
參數通過 $1 $2 的方式訪問