字符串初值的处理

问题
本案例要求编写一个脚本sumx.sh,求从1-x的和,相关要求如下:
从键盘读入x值
当用户未输入任何值时,默认按1计算
方案
步骤
实现此案例需要按照如下步骤进行。

步骤一:认识字符串初值的最常见处理方法

1)只取值,${var:-word}
若变量var已存在且非Null,则返回 $var 的值;否则返回字串“word”,原变量var的值不受影响。
变量值已存在的情况:

[root@svr5 ~]# echo $SCHOOL  			//查看原变量值
Tarena IT Group.
[root@svr5 ~]# echo ${SCHOOL:-Tarena}  	//因SCHOOL已存在,输出变量SCHOOL的值
Tarena IT Group.
[root@svr5 ~]# echo $SCHOOL  			//原变量的值并不改变
Tarena IT Group.

变量值不存在的情况:

[root@svr5 ~]# unset SCHOOL  			//清除SCHOOL变量
[root@svr5 ~]# echo ${SCHOOL:-Tarena}  	//因SCHOOL已不存在,输出“Tarena”
Tarena
[root@svr5 ~]# echo $SCHOOL  			//变量SCHOOL仍然不存在

[root@svr5 ~]#

2)取值+赋值,${var:=word}
若变量var已存在且非Null,则返回 $var 的值,原变量值不变;否则返回字串“word”,并将此字串赋值给变量 var。
变量值不存在的情况:

[root@svr5 ~]# echo $SCHOOL  			//前面已将此变量清除

[root@svr5 ~]# echo ${SCHOOL:=Tarena}  	//因SCHOOL不存在,输出“Tarena”
Tarena
[root@svr5 ~]# echo $SCHOOL  			//且将“Tarena”赋值给变量SCHOOL
Tarena

变量值已存在的情况:

[root@svr5 ~]# echo $SCHOOL  			//确认当前的变量值
Tarena
[root@svr5 ~]# echo ${SCHOOL:=Tarena IT Group.}  //变量已存在,输出其值
Tarena
[root@svr5 ~]# echo $SCHOOL  			//原变量的值也不受影响
Tarena
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值