歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> SHELL編程 >> Linux Shell編程語法(變量及其賦值)

Linux Shell編程語法(變量及其賦值)

日期:2017/3/1 9:57:04   编辑:SHELL編程
Shell編程中,使用變量無需事先聲明,同時變量名的命名須遵循如下規則:

首個字符必須為字母(a-z,A-Z)

中間不能有空格,可以使用下劃線(_)

不能使用標點符號

不能使用bash裡的關鍵字(可用help命令查看保留關鍵字)

需要給變量賦值時,可以這麼寫:

變量名=值

要取用一個變量的值,只需在變量名前面加一個$ ( 注意: 給變量賦值的時候,不能在"="兩邊留空格 )

#!/bin/sh

# 對變量賦值:

a="hello world" #等號兩邊均不能有空格存在

# 打印變量a的值:

echo "A is:" $a

挑個自己喜歡的編輯器,輸入上述內容,並保存為文件first,然後執行 chmod +x first 使其可執行,最後輸入./first 執行該腳本。其輸出結果如下:

A is: hello world

有時候變量名可能會和其它文字混淆,比如:

num=2

echo "this is the $numnd"

上述腳本並不會輸出"this is the 2nd"而是"this is the";這是由於shell會去搜索變量numnd的值,而實際上這個變量此時並沒有值。這時,我們可以用花括號來告訴shell要打印的是num變量:

num=2

echo "this is the ${num}nd"

其輸出結果為:this is the 2nd

注意花括號的位置:

num=2

echo "this is the {$num}nd"

其輸出結果為:this is the {2}nd

需要注意shell的默認賦值是字符串賦值。比如:

var=1

var=$var+1

echo $var

打印出來的不是2而是1+1。為了達到我們想要的效果有以下幾種表達方式:

let "var+=1"

var=$[$var+1]

var=`expr $var +1`#注意加號兩邊的空格,否則還是按照字符串的方式賦值。

注意:前兩種方式在bash下有效,在sh下會出錯。

let表示數學運算,expr用於整數值運算,每一項用空格隔開,$[]將中括號內的表達式作為數學運算先計算結果再輸出。
Shell腳本中有許多變量是系統自動設定的,我們將在用到這些變量時再作說明。除了只在腳本內有效的普通shell變量外,還有環境變量,即那些由export關鍵字處理過的變量。
Copyright © Linux教程網 All Rights Reserved