歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> SHELL編程 >> shell中冒號結合等號, 加號, 減號的使用小結

shell中冒號結合等號, 加號, 減號的使用小結

日期:2017/3/1 14:14:48   编辑:SHELL編程
shell中冒號結合等號, 加號, 減號的使用小結
在十三問中, 有提到過冒號與等號的情況, 有冒號的, 只要是空值(未定義, null)都能覆蓋;
沒有冒號的, 只有未定義時, 才能覆蓋. 但是返回值沒有做詳細說明.
1. 冒號與等號



2. 冒號與減號



3. 冒號與加號



4. 運行結果 [sql] ############# Test = ############# Case 1: varible unset str= abcd var= abcd str= abcd var= abcd Case 2: varible null str= var= str= abcd var= abcd Case 3: varible not null str= xyz var= xyz str= xyz var= xyz ############# Test - ############# Case 1: varible unset str= var= abcd str= var= abcd Case 2: varible null str= var= str= var= abcd Case 3: varible not null str= xyz var= xyz str= xyz var= xyz ############# Test + ############# Case 1: varible unset str= var= str= var= Case 2: varible null str= var= abcd str= var= Case 3: varible not null str= xyz var= abcd str= xyz var= abcd 5. 總結
1. 設定缺省值(:=): 1.1 未定義時, 生成缺省值;
1.2 空值時, 有冒號就生成缺省值;
1.3 有值時, 不覆蓋.
2. 缺省值(:-): 2.1 未定義時, 原變量str不會變; 返回值var可覆蓋;
2.2 空值時, 變量str不會變;
2.3 有值時, 不覆蓋.
3. 覆蓋缺省值(:+): 3.1 未定義時, 原變量str, 返回值var不會變;
3.2 空值時, 原變量str不會變;
3.3 有值時, 覆蓋變量str的缺省值
注意:
1. =, -有值時, 原變量不變, 只有:+才能覆蓋;
2. +, -無值時, 原變量str仍為空.
Copyright © Linux教程網 All Rights Reserved