學習目標
變量的賦值
變量的訪問
變量的輸入
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 -lubuntu@ubuntu:/home/study$ chmod +x test3 ubuntu@ubuntu:/home/study$ ./test3 please input name of directory /home #輸入路徑時需“/”
實例:運行程序test4,從鍵盤讀入x、y的值,然后做加法運算,最后輸出結果。
#! /bin/shecho "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)、倒引號,表示在被引用的內容要做運算