就像其它的任何高階語言一樣,在外殼指令碼中使用變數也是十分重要的。
1.給變數賦值
在pdksh和bash中,給變數賦值的方法是一樣的,即在變數名後跟著等號和變數值。例如,想要把5賦給變數count,則使用如下的命令:
count=5 (注意,在等號的兩邊不能有空格)
在tcsh中,可以使用如下的命令:
set count=5
因為外殼語言是一種不需要型別檢查的解釋語言,所以,在使用變數之前無須事先定義,這和c或pascal語言不一樣。這也說明你可以使用乙個變數來儲存字串或整數。給字串賦值的方法和給整數賦值的方法一樣,例如
name=garry (在pdksh和bash中)
set name=garry (在tcsh中)
讀取變數的值
可以使用$讀取變數的值。例如,用如下的命令將count變數的內容輸出到螢幕上:
echo $count
位置變數和其他系統變數
位置變數用來儲存外殼程式後面所跟的引數。第乙個引數儲存在變數1中,第二個引數儲存在變數2中,依次類推。這些變數為系統保留變數,所以你不能為這些變數賦值。同樣,你可以使用$來讀取這些變數的值。例如,你可以編寫乙個外殼程式reverse,執行過程中它有兩個變數。輸出時,將兩個變數的位置顛倒。
#program reverse,prints the command line parameters out in reverse order
echo "$2" "$1"
在外殼下執行此外殼程式:
reverse hello there
其輸出入下:
there hello
除了位置變數外,還有其他的一些系統變數,下面分別加以說明:
有些變數在啟動外殼時就已經存在於系統中,你可以使用這些系統變數,並且可以賦予新值:
$home 使用者自己的目錄。
$path 執行命令時所搜尋的目標。
$tz 時區。
$mailcheck 每隔多少秒檢查是否有新的郵件。
$ps1 在外殼命令行的提示符。
$ps2 在命令尚未打完時,外殼要求再輸入時的提示符。
$manpathman 指令的搜尋路徑。
有些變數在執行外殼程式時系統就設定好了,並且你不能加以修改:
$# 儲存外殼程式中命令列引數的個數。
$? 儲存上乙個執行命令的返回值。
$* 儲存外殼程式的所有引數。
$0 儲存外殼程式的程式名。
"$@" 儲存所有命令列輸入的引數,分別表示為(「$1」 "$2" .....).
$! 儲存上乙個後台執行命令的pid.
投光燈外殼 LED投光燈外殼特性
在對led燈具關注的過程中,led燈具本身在節能性方面是很好的一種狀態,而在關注led投光燈製作完成的產品外殼的過程中,大家則能夠了解到led投光燈產品在使用的多個部分效果是很不錯的。戶外大型投光燈要達到一定的照明要求,基本都是大功率led晶元。所以led投光燈的防水防塵及散熱三項效能是決定其品質和...
Delphi 外殼程式設計( )
摘要 本文介紹了一種有別於通常的windows外殼程式設計方法。採用com技術,通過windows提供的外殼介面實現對其的程式設計。一 引言 都是執行於windows 作業系統 之下的。在 程式開發過程中也經常要在自己的應用程式中加入一些windows系統本身就有的功能,比如檔案的拷貝 刪除 查詢以...
外殼模式(shell)
系統程式設計師成長計畫 這本書中提到了外殼模式的概念。所謂的外殼模式的作用就是 不需要修改原來的應用程式,而控制它的輸入和輸出 即使用者介面 同時應用程式也不知道外殼的存在。當然這樣理解會比較麻煩,我們就舉個簡單的例子,比如已經存在乙個應用程式,我們想給該應用程式增添乙個新的使用者介面,這裡有兩種選...