shell字符串、变量等

1. 字符串为空的情况:

[[ -z "str" ]] && echo 1 可以测试str="" 和 unset str的情况. -n 可以测试字符串非空。

2. 字符串的默认值

echo ${str-xxx}  设置默认值为xxx,适用于unset str(NULL),适用于str=(NULL),不适用于str="" (空)这种情况。临时设置,不改变str中的内容。
echo ${str=xxx}  设置默认值为xxx,适用于NULL,不适用于空。改变str中的内容。
echo ${str:=xxx} 设置默认值为xxx,适用于NULL且适用于空的情况。改变str中的内容。
echo ${str:-xxx} 设置默认值为xxx,变量为NULL或空则使用默认值。不改变str中的内容。
echo ${str:+xxx} 设置默认值为xxx,变量不为NULL或空则使用默认值。不改变str中的内容。
echo ${str:?xxx} 变量为空则报错且退出。

猜你喜欢

转载自www.cnblogs.com/abnk/p/12516207.html