1.1.變數和值之間不能有空格,否則直譯器會認為是幾個命令。很多程式設計師的習慣是在=號兩邊留空格為了好看,但這點在shell中行不通。
變數和值之間不能有空格
a=3b=4
而不是,a= 4 ,b = 5
2.字串不必用"號或者',上面的幾種賦值方式是等價的。除非字串之間有空格的時候。
如:var="hello world"
這時候就需要用引號。
3.var=
這樣的語句也是合法的,表示var的值為空
4.但與php不同的是變數賦值的時候不用加$符號。因為shell中沒有==這個符號,判斷相等也是用=號。如果賦值的時候加上$號,會產生混淆。
還有一點要注意的就是單引號(')字串 中的變數不會被替換。
var=world
var2='$var world'
echo $var2
上面的語句輸出結果:$var world
這個可以用來輸出$等特殊符號,而不用擔心字元被當作變數替換。
5.if語句
if語句
if [ condition ]
then
action
elif [ condition2 ]
then
action2
elif [ condition3 ]
then
else
actionx
fifor迴圈
var="one two three four"
for x in $var
doecho $x
done
for迴圈用do 和 done表示開始結束,不要舉一反三,認為是用 rof結束。
4.while和util迴圈
while [ condition ]
dostatements
done
until [ condition ]
dostatements
done
5.條件語句
shell中的條件語句用號括起來,用於if,while,until等結構。
條件判斷用=號,而不是==號。條件語句與 號之間要有空格分開。
如:gender="boy"
if [ "$gender" = "girl" ]
then
echo 'welcome!'
else
echo 'we only welcome girl.'
fi6還有要注意的是條件語句中=號兩旁要有空格分開,否則shell會將條件語句整個作為乙個字串處理,條件永遠為真。條件語句中的變數最好用"號引起來,否則如果該變數中有空格,shell就會報too many arguments錯誤。如果變數正好為空,則會報 =: unary operator expected.錯誤。因為變數為空的話,條件語句少了一邊,當然會出錯。所以,將字串變數用雙引號括起來是shell程式設計的好習慣,尤其在條件語句中。
其他的比較符號,如 >,<,不能直接在條件語句中使用,因為》號在shell中有特殊含義。下面是shell的比較運算符號表示方法:
算術比較運算子
num1-eq num2 等於 [ 3 -eq $mynum ]
num1-ne num2 不等於 [ 3 -ne $mynum ]
num1-lt num2 小於 [ 3 -lt $mynum ]
num1-le num2 小於或等於 [ 3 -le $mynum ]
num1-gt num2 大於 [ 3 -gt $mynum ]
num1-ge num2 大於或等於 [ 3 -ge $mynum ]
字串比較運算子
-z string 如果 string長度為零,則為真 [ -z "$myvar" ]
-n string 如果 string長度非零,則為真 [ -n "$myvar" ]
string1= string2 如果 string1與 string2相同,則為真 [ "$myvar" = "one two three" ]
string1!= string2 如果 string1與 string2不同,則為真 [ "$myvar" != "one two three" ]
7.case 語句
gender="boy"
case "$gender" in
boy)
echo "we only welcome girl."
girl)
echo 'welcome !'
echo "unknow."
esac
case語句的語法比較怪,乍一看比較彆扭。每個pattern用 半括號括起來,用;;結束。
(1)前端 CSS css的宣告學習
css學習宣告 1.在head標籤中使用style標籤宣告 作用 宣告網頁的公共樣式 2.在標籤上使用style屬性進行宣告 作用 此宣告會將css樣式直接作用於當前標籤 3.在head標籤中使用link標籤引入外部宣告好的css檔案 作用 此宣告相當於呼叫,解決了不同網頁樣式的重複使用的問題 一次...
shell語法之變數的使用
1 變數 在shell裡,使用變數之前通常並不需要事先為它們做出宣告。你只是通過使用它們 比如當你給它們賦初始值時 來建立它們。在預設情況下,所有變數都被看做字串來儲存,即使它們被賦值為數值時也是如此。shell和一些工具程式會在需要時把數值型字串轉換為對應的數值以對它們進行操作。linux是乙個區...
C 語法 C 變數宣告和定義的區別
我們在程式設計中,時時刻刻都用到變數的定義和變數的宣告,可有些時候我們對這個概念不是很清楚,知道它是怎麼用,但卻不知是怎麼一會事,下面我就簡單的把他們的區別介紹如下 望我的指點對你受益 變數的宣告有兩種情況 1 一種是需要建立儲存空間的。例如 int a 在宣告的時候就已經建立了儲存空間。2 另一種...