if流控
案例:
1.数值比较:
操作符:
!:shell脚本中><代表重定向,所以不可用
比较例子:验证用户的密码是否大于九位
查看变量的长度 echo ${#变量名} #为查看变量长度
单双分支:
测试语法:
test:
a=123456
变量a长度是否大于等于7
Echo $?:返回结果为0,则为真 为1,则为假
若不加#则比较的是变量a的数值大小。
[]: [ ${#a} -ge 7 ] ;echo $?
也可:
|| :与
[[]] [[ ${#a} -ge 7 ]] ;echo $?
!!!!!:注意空格
If:语法结构
语法为:
例:if [ ${#a} -ge 9 ]
then
echo "设置成功"
else
echo "密码长度不够"
fi
变量赋值:
也可以 ps=`read -p "请输入您的密码"`
2.文件控制
-w 注意;超管(root)没有写入权限也可写入,所以超管无论如何都返回为0
示例:请用户输入备份的路径,如果存在提示已存在可以备份,如果不存在提示不存在请创建。
返回为真(0)可执行then中语句, 返回为假(1)执行else中语句
3.字符比较
注意:字符要加“”
多分支:
语法结构:
例:
例2:
-a: 并且(and)
-o: 或者 (or)
嵌套结构:
需求:用户输入年龄 1.大于等于18 1.1 输入名字 输入密码 1.1.1 密码长度大于等于9 输出你好 $用户名
1.1.2 密码长度小于9 输出密码太短
2、小于18 2.1.输出年龄太小
例:
调试:sh -n 文件名 仅调试脚本中的语法错误
sh -vx 文件名 以调试方式执行,查询整个执行过程
注意事项: