學習目標
變數的賦值
變數的訪問
變數的輸入
12-4-1 變數的賦值
在Shell程式設計中,所有的變數名都由字串組成,並且不需要對變數進行宣告。要賦值給一個變數,其格式如下:變數名=值。
注意:
等號(=)前後沒有空格
例如:
x=6
a=”How are you ”
表示把6賦值給變數x,字串“How are you ”賦值給變數a。
12-4-2 訪問變數值
如果要訪問變數值,可以在變數前面加一個美元符號“$”,例如:
ubuntu@ubuntu:~$ a="How are you "
ubuntu@ubuntu:~$ echo "He just said:$a"
He just said:How are you
ubuntu@ubuntu:~$
一個變數給另一個變數賦值可以寫成:變數2=$變數1。
例如:x=$i,i++可以寫成:i=$i+1
12-4-3 鍵盤讀入變數值
在Shell程式設計中,變數的值可以作為字串從鍵盤讀入,其格式為: read 變數
例如:
ubuntu@ubuntu:~$ read str
read為讀入命令,它表示從鍵盤讀入字串到str。
例項:編寫一個Shell程式test3,程式執行時從鍵盤讀入一個目錄名,然後顯示這個目錄下所有檔案的資訊。
分析:存放目錄的變數為DIRECTORY,其讀入語句為:read DIRECTORY,顯示檔案的資訊命令為:ls –a 。
ubuntu@ubuntu:/home/study$ vi test3 #! /bin/sh echo "please input name of directory" read DIRECTORY cd $DIRECTORY ls -l ubuntu@ubuntu:/home/study$ chmod +x test3 ubuntu@ubuntu:/home/study$ ./test3 please input name of directory /home #輸入路徑時需“/”
例項:執行程式test4,從鍵盤讀入x、y的值,然後做加法運算,最後輸出結果。
#! /bin/sh echo "please input x y" read x y echo $x $y z=`expr $x + $y` echo "The sum is $z"
注意:
read x y –>多個變數之間用空格隔開,切忌用逗號(,)
z=`expr $x + $y`
1)、expr ‘+’ 兩邊有空格
2)、倒引號,表示在被引用的內容要做運算