Shell 編程學習總結

一、標註執行此shell 用的是那種版本的 shell 命令 比較常見的是

#! /bin/sh


二、shell 內部參數

$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 $?


3、邏輯操作
[ ! $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 的方式訪問






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