字符串与数字操作全解析
1. 参数展开基础
在操作中,我们可以使用不同的参数展开形式。例如,使用 ${parameter:?"parameter is empty"} 来确保参数不为空:
[me@linuxbox ~]$ foo=bar
[me@linuxbox ~]$ echo ${foo:?"parameter is empty"}
bar
[me@linuxbox ~]$ echo $?
0
还可以使用 ${parameter:+word} 形式,当参数未设置或为空时,展开结果为空;当参数不为空时,用 word 的值替换参数,但参数本身的值不变:
[me@linuxbox ~]$ foo=
[me@linuxbox ~]$ echo ${foo:+"substitute value if set"}
[me@linuxbox ~]$ foo=bar
[me@linuxbox ~]$ echo ${foo:+"substitute value if set"}
substitute value if set
另外,使用 ${!prefix*} 或 ${!prefix@} 可以返回以 prefix 开头的现有变量的名称,例如:
[me
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



