扩展变量是指在shell脚本中用于实现条件判断和变量操作的特殊语法。
表格总结:
前三个 存在或者非空时,优先使用待测变量,否则使用默认值(或报错)。
最后一个 存在或者非空时,优先使用默认值,否则返回空值(不存在或者空 统一返回空)。
格式:
条件式 | 目的 | 判断条件 | 符合的动作 | 不符合的动作 | |
---|---|---|---|---|---|
1 | ${待测变量:-默认值} | 返回一个非空值 | 测试不存在或者为空 | 返回“默认值” | 返回变量值 |
2 | ${待测变量:=默认值} | 给空值变量赋值 | 测试不存在或者为空 | 为变量赋值 | 返回变量值 |
3 | ${待测变量:?默认值} | 检查条件是否完备 | 测试不存在或者为空 | 提示错误信息 | 返回变量值 |
4 | ${待测变量:+默认值} | 判断某事是否为真 | 测试存在或者非空 | 返回“默认值” | 返回空值 |