歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> SHELL編程

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