持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第6天,点击查看活动详情
赋默认值
前面我们已经说了赋值的一些问题,但是我们在代码里面可能有时候计算值,由于场景需要设置默认值那如何在代码里设置默认值呢?看代码:
#!/bin/bash
abs=100
echo ${abs:-50}
echo ${ant:-50}
这个表示如果abs如果为空则返回后面的值,如果不为空则返回abs的值,这样就完成了赋默认值的功能,最后输出返回的是100 50;
test指令
test指令的应用场景主要是测试某个条件是否满足,比如说我们的数字和字符串的检验;
他主要有两种表达式,一个就是我们之前写if的时候所使用的“[]”,另一种就是用今天要说的test指令,为了弄懂,这里我们还是要把"[]"拿出来再说一次的首先看下它的用法;
如果我们写一个判断语句我们会这么写(这里就不给变量然后取变量了):格式是:[ str 操作符 str ],注意这里的空格要严格的分开,如果是单个字符的直接**[** 操作符 str ];
[ 5 -gt 3 ]
echo $?
[ 5 -gt 6 ]
echo $?
这个返回的是0 1;所以0表示的是true,1表示的是false;前面加上if就变成我们的if语句啦;然后对于test的操作符,其格式是test str 操作符 str;如果是单个字符的直接test 操作符 str;看下用例
if test 5 -gt 3
then
echo "大于"
else
echo "小于"
fi
va="hhh"
if test -z $va
then
echo "空串"
else
echo "非空"
fi
我们看下输出:大于 非空 ;个人爱好还是喜欢[]的表达方式,这个同样可以与或非,与我们的应用语言是类似的了,多个条件拼接在一起就行啦,如果试试小用例,上讲的demo就可以把中括号换成test试试,对于上面赋默认值的个人还是喜欢先定义变量然后在用,然后通过执行脚本的时候传值,或者通过脚本执行的时候提示传值,而不喜欢这种默认值的方式,毕竟脚本的业务性不会很强;
好啦,基本的基础性的应该差不多了,下面我们会说说shell的循环结构(虽然if我们用这么久了),在shell中while的指令使用还是很多的好啦🥗🥗🥗;
结束结束,那就🛴🛴🛴