第 1 種:
result=${str:-value}
若 $str 不空,則 result 的內容為 str
若 $str 為空,則 result 的內容為 value
例:
str="/home/ols3"
result=${str:-/bin/sh}
echo $result
結果為:/home/ols3
例:
str=
result=${str:-/bin/sh}
echo $result
結果為:/bin/sh
=====================
第 2 種:
result=${str:=value}
若 $str 為空,則 result 的內容為 value,且同時把 $str 也設為 value !
例:
str="/home/ols3"
result=${str:=/bin/sh}
echo "\$result is $result"
echo "\$str is $str"
結果為:
$result is /home/ols3
$str is /home/ols3
例:
str=
result=${str:=/bin/sh}
echo "\$result is $result"
echo "\$str is $str"
結果為:
$result is /bin/sh
$str is /bin/sh
=====================
第 3 種:
result=${str:?msg}
若 $str 不空,則 result 的內容為 str
若 $str 為空,則 顯示錯誤訊息 msg
=====================
第 4 種:
result=${str:+value}
若 $str 不空,則 result 的內容為 value
若 $str 為空,則不做取代 |