本部主要介紹:Shell 編程時(shí)摩渺,變量測(cè)試與內(nèi)容替換對(duì)照表偶洋,及演示變量的測(cè)試
-
介紹變量測(cè)試作用
echo
是輸出到屏幕上(用戶查看)饲趋。編寫(xiě)腳本時(shí)幽邓,得用測(cè)試變量的方法檢測(cè)變量得值使用系統(tǒng)支持的一種格式炮温,來(lái)檢測(cè)變量是否存在。這種方式完全可以自定義腳本使用
if
來(lái)完成-
固定格式(
:
冒號(hào)的區(qū)別牵舵,當(dāng) y 為空柒啤,x得取值相反)變量置換方式 變量 y 沒(méi)有設(shè)置 變量 y 為空值 變量 y 設(shè)置值 x=${y-新值}
x=新值
x為空
x=$y
x=${y:-新值}
x=新值
x=新值
x=$y
x=${y+新值}
x為空
x=新值
x=新值
x=${y:+新值}
x為空
x為空值
x=新值
x=${y=新值}
x=新值
y=新值
x為空
y 的值不變
x=$y
y 的值不變
x=${y:=新值}
x=新值
y=新值
x為新值
y為新值
x=$y
y 的值不變
x=${y?新值}
新值輸出到標(biāo)準(zhǔn)的錯(cuò)誤輸出(當(dāng)成報(bào)錯(cuò)輸出到屏幕)
x為空
x=$y
x=${y:?新值}
新值輸出到標(biāo)準(zhǔn)的錯(cuò)誤輸出
新值輸出到標(biāo)準(zhǔn)的錯(cuò)誤輸出
x=$y
-
實(shí)例
-
測(cè)試
x=${y-新值}
-
變量 y 不存在
ss@localcomputer:~$ unset y # 刪除變量 y ss@localcomputer:~$ x=${y-"new"} # 進(jìn)行測(cè)試 ss@localcomputer:~$ echo $x new # 因?yàn)樽兞?y 不存在,所以 x=new ss@localcomputer:~$
-
變量 y 為空
ss@localcomputer:~$ y="" # 設(shè)變量 y 為空 ss@localcomputer:~$ echo $y ss@localcomputer:~$ x=${y-"new"} ss@localcomputer:~$ echo $x # 變量 x 也為空 ss@localcomputer:~$
-
變量 y 有值
ss@localcomputer:~$ y="old" ss@localcomputer:~$ echo $y old ss@localcomputer:~$ x=${y-"new"} ss@localcomputer:~$ echo $x old # x 值為 y 的值 ss@localcomputer:~$
-
:
冒號(hào)的區(qū)別(y為空畸颅,x 為新值)ss@localcomputer:~$ y="" ss@localcomputer:~$ x=${y:-"new"} ss@localcomputer:~$ echo $x new # x 不在為空担巩,x 為新值 ss@localcomputer:~$
-
-