Linux 程式設計之Bash中的變數(轉)
Linux 程式設計之Bash中的變數(轉)[@more@]1.使用者定義的變數
使用者定義的變數有字母數字及下劃線組成,並且變數名的第一個字元不能為數字.
與其它UNIX名字一樣,變數名是大小寫敏感的.
對於變數,使用者可按如下方式賦值:
name = value
在引用變數時,需在前面加$符號,使用者也可以在變數間進行相互賦值,如:
(前面的$是命令提示符)
$ JOHN = john
$ NAME = $JOHN
$ echo Hello $NAME
Hello john
也可以用變數和其他字元組成新的字,這時可能需要把變數用{}括起,如:
$ SAT = Satur
$ echo Today is ${SAT}day
Today is Saturday
對於未賦值的變數,Bash以空值對待,使用者也可以用unset命令清除給變數
賦的值.
Bash中還可以使用陣列變數,其賦值有兩種:
(1) name[index] = value
(2) name = (value1 ... valuen) 此時下標從0開始
陣列下標的範圍沒有任何限制,同時也不必使用連續的分量.
Bash中關於變數的內建命令有:
(1) declare和typeset.兩者具有一樣的功能.其選項有:
[-/+]a 設定/撤消變數的陣列屬性
[-/+]i 設定/撤消變數的整數屬性
[-/+]r 設定/撤消變數的只讀屬性
[-/+]x 設定/撤消變數的輸出屬性
-p var 顯示變數屬性
(2) export和local.
export把變數輸出到環境中,用法為:
export name
export name = value
這裡需要簡單介紹一下export的作用:當Bash shell執行一個
程式時,將首先為該程式建立一個新的執行環境,稱為子shell,
在Bash Shell中變數都是區域性的,即它們只是在建立它們的子
Shell中是有意義的,使用export後,變數被設定為全域性變數,這
時可以被其它子Shell所識別
local標記變數為區域性的(如只能被函式內部使用),用法為:
local name
local name = value
(3) readonly.
指定變數為只讀,執行後,改變數不能被再次賦值,用法為:
readonly name
2.位置變數或Shell引數
Bash Shell在解釋使用者命令時,將把命令列的第一個子作為命令,而其它字作為
引數透過位置變數傳遞給程式.$1,...,$9分別代表第一,...,九個引數.其中1-9
是真正的引數名,"$"符只是用來標識變數的替換.
位置變數$0指命令對應的可執行名.
其它的還有:
$# 送給命令的引數個數
$@ 所有的引數,每個用雙括號括起
$* 所有的引數,用雙括號括起
3.與Shell有關的變數
(1) Shell自身設定的一些常用變數:
LINENO 正在執行的命令在指令碼中的行號
PWD 使用者當前目錄的全名
OLDPWD 最近一次執行cd之前,使用者當前目錄的全名
PPID 父程式ID
$ 當前程式ID
RANDOM 隨機數(範圍0-32767)
SECONDS Bash Shell的執行時間,單位是秒
REPLY select和read命令使用,以後會講到
OPTARG
ORTIND 這兩個變數由getopt命令設定
UID 當前使用者的User ID
_ 上一條命令使用的最後一個引數
(2) 影響Shell行為的一些常用環境變數:
PATH 命令搜尋路徑,以冒號為分隔符.注意與DOS下不同的是,
當前目錄不在系統路徑裡
HOME 使用者home目錄的路徑名,是cd命令的預設引數
COLUMNS 定義了命令編輯模式下可使用命令列的長度
EDITOR 預設的行編輯器
VISUAL 預設的可視編輯器
FCEDIT 命令fc使用的編輯器
HISTFILE 命令歷史檔案
HISTSIZE 命令歷史檔案中最多可包含的命令條數
HISTFILESIZE 命令歷史檔案中包含的最大行數
IFS 定義SHELL使用的分隔符
LOGNAME 使用者登入名
MAIL 指向一個需要SHELL監視其修改時間的檔案.當該檔案修改後,
SHELL將發訊息You hava mail給使用者
MAILCHECK SHELL檢查MAIL檔案的週期,單位是秒
MAILPATH 功能與MAIL類似.但可以用一組檔案,以冒號分隔,每個檔案後
可跟一個問號和一條發向使用者的訊息
SHELL SHELL的路徑名
TERM 終端型別
TMOUT SHELL自動退出的時間,單位為秒,若設為0則禁止SHELL自動退出
PROMPT_COMMAND 指定在主命令提示符前應執行的命令
PS1 主命令提示符
PS2 二級命令提示符,命令執行過程中要求輸入資料時用
PS3 select的命令提示符
PS4 除錯命令提示符
MANPATH 尋找手冊頁的路徑,以冒號分隔
LD_LIBRARY_PATH 尋找庫的路徑,以冒號分隔
使用者定義的變數有字母數字及下劃線組成,並且變數名的第一個字元不能為數字.
與其它UNIX名字一樣,變數名是大小寫敏感的.
對於變數,使用者可按如下方式賦值:
name = value
在引用變數時,需在前面加$符號,使用者也可以在變數間進行相互賦值,如:
(前面的$是命令提示符)
$ JOHN = john
$ NAME = $JOHN
$ echo Hello $NAME
Hello john
也可以用變數和其他字元組成新的字,這時可能需要把變數用{}括起,如:
$ SAT = Satur
$ echo Today is ${SAT}day
Today is Saturday
對於未賦值的變數,Bash以空值對待,使用者也可以用unset命令清除給變數
賦的值.
Bash中還可以使用陣列變數,其賦值有兩種:
(1) name[index] = value
(2) name = (value1 ... valuen) 此時下標從0開始
陣列下標的範圍沒有任何限制,同時也不必使用連續的分量.
Bash中關於變數的內建命令有:
(1) declare和typeset.兩者具有一樣的功能.其選項有:
[-/+]a 設定/撤消變數的陣列屬性
[-/+]i 設定/撤消變數的整數屬性
[-/+]r 設定/撤消變數的只讀屬性
[-/+]x 設定/撤消變數的輸出屬性
-p var 顯示變數屬性
(2) export和local.
export把變數輸出到環境中,用法為:
export name
export name = value
這裡需要簡單介紹一下export的作用:當Bash shell執行一個
程式時,將首先為該程式建立一個新的執行環境,稱為子shell,
在Bash Shell中變數都是區域性的,即它們只是在建立它們的子
Shell中是有意義的,使用export後,變數被設定為全域性變數,這
時可以被其它子Shell所識別
local標記變數為區域性的(如只能被函式內部使用),用法為:
local name
local name = value
(3) readonly.
指定變數為只讀,執行後,改變數不能被再次賦值,用法為:
readonly name
2.位置變數或Shell引數
Bash Shell在解釋使用者命令時,將把命令列的第一個子作為命令,而其它字作為
引數透過位置變數傳遞給程式.$1,...,$9分別代表第一,...,九個引數.其中1-9
是真正的引數名,"$"符只是用來標識變數的替換.
位置變數$0指命令對應的可執行名.
其它的還有:
$# 送給命令的引數個數
$@ 所有的引數,每個用雙括號括起
$* 所有的引數,用雙括號括起
3.與Shell有關的變數
(1) Shell自身設定的一些常用變數:
LINENO 正在執行的命令在指令碼中的行號
PWD 使用者當前目錄的全名
OLDPWD 最近一次執行cd之前,使用者當前目錄的全名
PPID 父程式ID
$ 當前程式ID
RANDOM 隨機數(範圍0-32767)
SECONDS Bash Shell的執行時間,單位是秒
REPLY select和read命令使用,以後會講到
OPTARG
ORTIND 這兩個變數由getopt命令設定
UID 當前使用者的User ID
_ 上一條命令使用的最後一個引數
(2) 影響Shell行為的一些常用環境變數:
PATH 命令搜尋路徑,以冒號為分隔符.注意與DOS下不同的是,
當前目錄不在系統路徑裡
HOME 使用者home目錄的路徑名,是cd命令的預設引數
COLUMNS 定義了命令編輯模式下可使用命令列的長度
EDITOR 預設的行編輯器
VISUAL 預設的可視編輯器
FCEDIT 命令fc使用的編輯器
HISTFILE 命令歷史檔案
HISTSIZE 命令歷史檔案中最多可包含的命令條數
HISTFILESIZE 命令歷史檔案中包含的最大行數
IFS 定義SHELL使用的分隔符
LOGNAME 使用者登入名
MAIL 指向一個需要SHELL監視其修改時間的檔案.當該檔案修改後,
SHELL將發訊息You hava mail給使用者
MAILCHECK SHELL檢查MAIL檔案的週期,單位是秒
MAILPATH 功能與MAIL類似.但可以用一組檔案,以冒號分隔,每個檔案後
可跟一個問號和一條發向使用者的訊息
SHELL SHELL的路徑名
TERM 終端型別
TMOUT SHELL自動退出的時間,單位為秒,若設為0則禁止SHELL自動退出
PROMPT_COMMAND 指定在主命令提示符前應執行的命令
PS1 主命令提示符
PS2 二級命令提示符,命令執行過程中要求輸入資料時用
PS3 select的命令提示符
PS4 除錯命令提示符
MANPATH 尋找手冊頁的路徑,以冒號分隔
LD_LIBRARY_PATH 尋找庫的路徑,以冒號分隔
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10617731/viewspace-947589/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- shell程式設計Bash中對變數的操作方法談(轉)程式設計變數
- shell程式設計–bash變數程式設計變數
- linux中BASH變數的設定規則Linux變數
- shell程式設計–bash變數介紹程式設計變數
- GNU/Linux實戰手記之Emacs篇 中--Bash程式設計 (轉)LinuxMac程式設計
- shell簡介之bash程式設計之引數說明(轉)程式設計
- Linux Bash程式設計Linux程式設計
- Linux中bash shell環境變數Linux變數
- 玩轉 Bash 變數變數
- bash 程式設計指南(轉)程式設計
- Bash 中的環境變數變數
- BASH Shell的指令碼程式設計(轉)指令碼程式設計
- shell簡介入門bash程式設計之執行(轉)程式設計
- 詳解Linux bash變數Linux變數
- Linux 程式設計之Shell程式設計(轉)Linux程式設計
- Linux基本命令學習之五:bash 變數Linux變數
- BASH SHELL 程式設計簡介(轉)程式設計
- Bash 中的 _ 是不是環境變數變數
- Linux shell程式設計(一)shell指令碼中的變數詳解Linux程式設計指令碼變數
- Linux程式設計之四(轉)Linux程式設計
- Linux程式設計-11.Shell Script(bash)--(1)簡介(轉)Linux程式設計
- Linux Shell程式設計(10)——引用變數Linux程式設計變數
- 01 shell程式設計之變數定義程式設計變數
- Java併發程式設計之原子變數Java程式設計變數
- QT程式設計之——使用全域性變數QT程式設計變數
- Linux程式設計-11.Shell Script(bash)--(2)教學例(轉)Linux程式設計
- Linux Shell程式設計(6)——變數替換Linux程式設計變數
- Linux Shell程式設計(7)——變數賦值Linux程式設計變數賦值
- Linux Shell程式設計(8)——變數詳解Linux程式設計變數
- Linux Shell程式設計(14)——內部變數Linux程式設計變數
- 好程式設計師web前端分享web測試之Js中的變數程式設計師Web前端JS變數
- Shell程式設計-04-Shell中變數數值計算程式設計變數
- shell Bash變數變數
- 1.2程式設計基礎之變數定義、賦值及轉換程式設計變數賦值
- Linux Shell程式設計(9)——特殊變數型別Linux程式設計變數型別
- Bash變數和引數變數
- Bash程式設計基礎之語法和工具程式設計
- shell程式設計之環境變數配置檔案程式設計變數