Unix shell script - conditional modifiers

Unix shell script - conditional modifiers

${name-aaron}  如果name没有定义,用值aaron代替${name},但变量name依然没有定义。

${name=aaron} 如果name没有定义,将name设成aaron。注意与前面的区别。

${name+aaron}如果name已经定义,值为aaron,否则为null。有点奇怪,对吧?

${name?"not assigned"} 如果name没有定义,显示name:not assigned


有时虽然变量已经定义了,但是个null值,这样就不起作用了。可用通过在操作符(-,=,+,?)前加个:来解决。冒号的意思就是将null当成未定义处理。

例子:

name=

echo ${name-aaron}

显示空值

echo ${name:-aaron}

显示aaron


你可能感兴趣的:(Unix shell script - conditional modifiers)