對于Shell腳本的編寫,可以使用任何文本編輯器,利用常用的文本編輯器、UltraEdit、Editplus、Gedit等都可以!
對于Shell腳本的書寫,約定俗成,第一行必須如下所示:(務必放在檔案的第一行)
#!/bin/sh...
符号#!用來告訴系統執行該腳本的程式,這裡使用/bin/sh。編輯結束并儲存;這裡最好使用“!/bin/bash”而不是“!/bin/sh”,如果使用tc shell改為tcsh,其他類似。
如果要執行該腳本,必須先使用chmod指令打開腳本的執行權限,如下:
chmod +x yourScriptName
注釋: 在進行shell程式設計時,以 # 開頭的句子表示注釋;
變量: 在其他程式設計語言中你必須使用變量。在shell程式設計中,所有的變量都由字元串組成,并且大家不需要對變量進行聲明;當你要指派給一個變量,首先熟悉如下知識;
1.需要給變量指派時,可以這麼寫: 變量名=值
1-1. 首個字元必須為字母(a-z,A-Z)
1-2 中間不能有空格,可以使用下劃線(_)
1-3 不能使用标點符号
1-4 不能使用bash裡的關鍵字(可用help指令檢視保留關鍵字)
2. 要取用一個變量的值,隻需在變量名前面加一個$ ( 注意: 給變量指派的時候,不能在”=”兩邊留白格 )
3. echo 輸出(列印)
OK,書寫第一個完整Shell腳本:
#!/bin/sh
#對變量指派:
himi="HelloShell" #等号兩邊均不能有空格存在
# 現在列印變量a的内容:
echo "A is:"
echo $himi
OK,終端指令&輸出如下:
Last login: Sat Apr 14 14:16:13 on ttys000
mac:~ Himi$ cd /Users/Himi/Desktop/
mac:Desktop Himi$ chmod +x himi
mac:Desktop Himi$ ./himi
A is:
HelloShell
mac:Desktop Himi$
需要大家注意的是有時候變量名可能會和其它文字混淆,比如:
#!/bin/sh
#對變量指派:
himi=”test” #等号兩邊均不能有空格存在
echo $himi
echo $himi A
echo “A $himi”
#注意混淆
echo “A $himi_OK”
#正确寫法:
echo “A ${himi}_OK”
終端執行&列印:
mac:Desktop Himi$ ./himi
test
test A
A test
A
A test_OK
mac:Desktop Himi$
童鞋們可以看到《 echo “A $himi_OK” 》這裡沒有正常列印出來,這是由于shell會去搜尋變量himi_OK的值,而實際上這個變量此時并沒有值。這時,我們可以用花括号來告訴shell要列印的是himi變量;
還需要注意shell的預設指派是字元串指派。比如:
#字元串指派:
_int=19
_tot=$_int+89
echo $_tot
列印的_tot不是108 !而是 19+89 !出現此的原因就是因為Shell預設是字元串指派,應該需要計算應該先熟悉如下幾個知識:
let 表示數學運算
$[] 表示将中括号内的表達式作為數學運算先計算結果再輸出。
expr 用于整數值運算,每一項用空格隔開
上面前兩種方式在bash下有效,在sh下會出錯。
OK,知道這些就可以重新将剛才的腳本改寫成如下形式:
_tot=$[$_int+89]
3種形式輸出的結果都是 108 ;
将到這裡就不得不說下Shell的算術運算仂,對于Shell種的運算中,大家需要知道:
C shell隻支援整數的運算;
運算符如下圖所示:
<a href="http://www.himigame.com/wp-content/uploads/2012/04/12d.jpeg"></a>
簡單寫幾個運算:
<a href="http://www.himigame.com/wp-content/uploads/2012/04/321.png"></a>
注意:
1.運算符兩側都必須有空格!!
2.C shell不支援浮點運算符(ps.如果您想要執行更加複雜的數學運算,可用UNIX的實用程式bc和nawk)
本文轉自 xiaominghimi 51CTO部落格,原文連結:http://blog.51cto.com/xiaominghimi/908874,如需轉載請自行聯系原作者