1、變數定義的方法
name=value
name中的規則同c語言,value可以是任何值,如果包含空格,則應該使用「」引起來。
2、訪問變數
$varname
3、定義陣列變數
name[index]=value
這裡的index可以為n,不用從0開始賦值,如我只定義
name[3]=value,則name[0,1,2]都沒有被定義。
另外,如果有變數和陣列變數同名,那麼變數的值就是陣列變數[0]的值。
陣列的第二中賦值方法是name=(value0,value1,..valuen)
上面這種方法是全部賦值給了name[0]
因為在bash中,宣告乙個陣列是declare -a name=(value1 value2 value3),值使用空格隔開。也可以不實用declare -a
還可以指定下標name=([0]=value0,[3]=value1,...)
4、訪問陣列值
$$訪問所有項
$訪問所有項
5、唯讀變數
使用readonly命令,變數可以標記為唯讀,不可改變值。如:
$name=value
$readonly name
6、刪除變數(unset name)
但是不能刪除標記為readonly的變數
8、環境變數
當shell執行時,主要存在三種變數:
區域性變數 環境變數 shell變數
子程序訪問 n y y
由使用者設定 n n y
由shell設定 n n n
使用者可更改 y y n
shell要求使用 n n y
9、匯出環境變數
命令:export name
也就是將定義的變數匯出為環境變數
sh只支援一種格式,name=value;export name(先定義後匯出)
bash還支援export name=value
export name1,name2,namen,可到處多個變數
10、shell變數
這是shell在初始化和使用過程中設定的變數,使用者可以改變這些變數的值
變數 描述
pwd 指出當前工作目錄
uid
shlvl 每次由bash的乙個例項所啟動的乙個
增量,可以確exit退出的層數
random 每次被引用時,產生從0——32767之間的
隨機數,可以使用其來產生隨機序列
reply
seconds 返回shell被啟用後的秒數
ifs 指出語法分析器使用的內部分割符
(internal field separator)
path
home
shell指令碼(變數)
1 定義及賦值 格式 變數名 變數值 等號兩邊沒有空格 2 引用 檢視 變數 格式 變數名 例 title shaodianlingxing echo title 輸出 shaodianlingxing 3 雙引號 功能 允許引用 轉義 例如 echo title group 輸出 shaodian...
shell指令碼 變數
1 shell 指令碼中變數分為三種,區域性變數,環境變數,shell變數。區域性變數 定義在函式內部 基本型別 local num hello world 區域性變數在指令碼或命令中定義,僅在當前shell例項中有效,其他shell啟動的程式不能訪問區域性變數。如果同名,shell函式定義的loc...
shell指令碼變數
環境變數和本地變數,環境變數是具有全域性屬性的。在互動式shell下面定義變數 value 100 這定義的即為本地變數,如果要將其變成環境變數則需要export value 匯出環境變數,取消環境變數則可以使用unset命令。環境變數是可以被子程序繼承的更是可以被子子孫孫都繼承的。環境變數在程式替...