Bash变量默认值(缺省值)随记

来自三线的随记
Admin讨论 | 贡献2020年12月18日 (五) 12:29的版本 (创建页面,内容为“=== Form 1 === ${a-defaultvalue} a如果没有定义,则表达式返回默认值,否则返回a的值; ==== demo ==== sanxian@sanxian-pc $ unset test sanxia…”)
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)

Form 1

${a-defaultvalue}

a如果没有定义,则表达式返回默认值,否则返回a的值;

demo

sanxian@sanxian-pc $ unset test
sanxian@sanxian-pc $ echo ${test-"strstr"}
strstr
sanxian@sanxian-pc $ test=""
sanxian@sanxian-pc $ echo ${test-"strstr"}

sanxian@sanxian-pc $ 


Form 2

${a:-defaultvalue}

a没有定义或者为空字符串,则表达式返回默认值,否则返回a的值;

demo

sanxian@sanxian-pc $ test=1123
sanxian@sanxian-pc $ echo ${test:-"strstr"}
1123
sanxian@sanxian-pc $ test=""
sanxian@sanxian-pc $ echo ${test:-"strstr"}
strstr
sanxian@sanxian-pc $ unset test
sanxian@sanxian-pc $ echo ${test:-"strstr"}
strstr