第一個shell指令碼程式。vi建立檔案test.sh,並賦予執行許可權
#!/bin/shecho 'hello word !'
執行結果:hello word !
shell指令碼結構:以#!/bin/sh開始,然後換行下面的就是程式主體。當然這裡只是以#!/bin/sh為例。
瞭解學習一門新的語言,我一般都是遵循著這麼個過程。
1、變數以及變數賦值
2、流程式控制制
3、資料集操作:集合數組
4、類、方法調用
熟悉了以上的東西,對這門語言就有了最基本的掌握。
一、變數
所有的變數都是字串,且不需要聲明變數。
first='OKOKOK'
需要注意的是等號的左右兩邊沒有空格。
引用:${first}或者${first}
#把first的值賦給secondsecond=$first
first=2echo 'this is ${first}'
執行結果:this is 2
二、流程式控制制
1、if判斷
if...then.....elif....then.....else....fi
格式如上。
與java不同的是,java的條件用()包起來,shell的用[ ] 或者()方括弧。尤其要注意方括弧的前後都要有空格。
舉個實際例子:
a='1'if [ ${a} -eq '1' ]then echo 'this is 1'elif [ ${a} -eq '2' ]then echo 'this is 2'else echo 'this is other'fi
執行結果:this is 1
以上程式的就是比較變數是否等於某個值。
下面是複合條件的if判斷
a='3'if [[ ${a} -eq '1' ]] || [[ ${a} -eq '3' ]]then echo 'this is 1'elif [ ${a} -eq '2' ]then echo 'this is 2'else echo 'this is other'fi
執行的結果:this is 1
在java中就是if(a.equals("1") || a.equals("3")),但是這裡不是。
下面這種也是可以:
if [ ${a} -eq '1' -o ${a} -eq '3' ]
-o:就是 ||、或者
說到流程判斷就要用到運算式和邏輯運算子,下一篇會寫到相應資訊。