前言
- 本文主要是参考了鸟哥写的《鸟哥的Linux私房菜》。因为总是在各种脚本中见到
:-
的用法而只是了解其大概含义,所以翻阅了相关资料,编写此博文以作记录
Shell中冒号在变量赋值时的各种特殊用法
变量设定方式 | str变量没有设定时 | str为空字符串时 | str已经设定为非空字符串时 |
---|---|---|---|
var=${str-expr} | var=expr | var="" | var=$str |
var=${str:-expr} | var=expr | var=expr | var=$str |
var=${str+expr} | var="" | var=expr | var=expr |
var=${str:+expr} | var="" | var="" | var=expr |
var=${str=expr} | str=expr var=expr | str 不变 var="" | str 不变 var=$str |
var=${str:=expr} | str=expr var=expr | str=expr var=expr | str 不变 var=$str |
var=${str?expr} | expr 输出至 stderr | var="" | var=$str |
var=${str:?expr} | expr 输出至 stderr | expr 输出至 stderr | var=$str |