標籤:shell 指令碼 環境變數 參數變數
環境變數
- $HOME
目前使用者的家目錄
- $PATH
以冒號分隔的用來搜尋命令的目錄列表
- $PS1
命令提示字元,通常是$字元,但在bash中,可以使用一些更複雜的值。例如,字串[\[email protected]\h\w]$就是一個流行的預設值,它給出使用者名稱/機器名和當前的目錄名,當然也包括一個$提示符。
- $PS2
二級提示符,用來表示後續的輸入,通常是 > 字元。
- $IFS
輸入欄位分隔字元。當shell讀取輸入時,它給出用來分隔單詞的一組字元,他們通常是空格,定位字元和分行符號。
- $0
shell指令碼的名字
- $#
傳遞給指令碼的參數的個數
- $$
shell指令碼的進程號,指令碼程式通常會用它來產生一個唯一的臨時檔案,如/temp/tmpfile_$$
參數變數
- $1 , $2 , ...
指令碼程式的參數
- $*
在一個變數中列出所有的參數,各個參數之間用環境變數IFS中的第一個字元分隔開。如果IFS被修改了,那麼$*將命令列分隔為參數的方式將隨之改變。
- [email protected]
它是$*的一種精巧的變體,它不使用IFS環境變數,所以即使IFS為空白,參數也不會擠在一起。
shell指令碼樣本
#!/bin/shsalutation="Hello"echo $salutationset foo bar bamecho "The program $0 is now running"echo "The second parameter was $2"echo "The first parameter was $1"echo "The parameter list was $*"echo "The user's home directory is $HOME"echo "Please enter a new greeting"read salutationecho $salutationecho "The script is complete"exit 0<span style="color:#cc0000;"></span>
測試結果
這個指令碼程式建立變數並顯示它的內容,然後顯示各種參數變數以及環境變數$HOME都已經存在並有了適當的值。
shell指令碼程式中的部分常用環境變數和參數變數的說明以及簡單shell指令碼樣本