在shell中可以这样为变量指定一个默认值。$new=${var:-value}如果var未定义或者为空时默认值为value[root@Server1 perllearn]#echo $var
[root@Server1 perllearn]#new=${var:-11}
[root@Server1 perllearn]#echo $new
11
[root@Server1 perllearn]#var=""
[root@Server1 perllearn]#new=${var:-11}
[root@Server1 perllearn]#echo $new
11
[root@Server1 perllearn]#var=1
[root@Server1 perllearn]#new=${var:-11}
[root@Server1 perllearn]#echo $new
1
而在perl中 也可以为变量提供默认值
方法:
$var//=2; 或则 $var||=2;
这两种方法是有区别的
对于后面一种是当$var 为undef时 还有的空字符串“”时 以及为0时值都会是2
而前面一种 相当于$var=definded($var)//2;
所有当$var 为空串和0是 definded($var)为真 所以结果为$var本身。分别为空串和0
阅读(6221) | 评论(1) | 转发(0) |