shell脚本编程 if分支语句、多分支

# useradd  //创建一个用户
    //用户的信息会写到 /etc/passwd
    //同时会生成以此用户名命名的家目录  在/home 创建

从键盘读取用户输入的密码信息,验证输入的密码是否为123456,
如果输入正确,显示密码正确,如果错误,显示密码错误。

  # ssh  ip地址

  # vim  passwd.sh
#!/bin/bash
read  -p“请输入密码:”passwd

解决输入的密码信息和已有的信息做匹配的间题:
使用test测试:
文件属性测试
字符串测试
算数测试

  命令格式:
test测试语句
[测试语句]      //括号两遍要有空格


  文件属性测试
-e    文件存在为真
-f     文件存在为真且是一个常规文件
-d    文件存在为真且是一个且录
-c    文件存在且特殊字符文件为真
-b    文件存在且特殊块文件为真
-g    文件存在且设置了sgid位为真
-u    文件存在且设置了ugid位为真
            
-r     文件存在且可读为真
-w    文件存在且可写为真
-x     文件存在且可执行为真

-s     文件存在且不为空为真

  逻辑与和逻辑或:
&&    逻辑与
| |     逻辑或

true    为真
false   为假

true  &&  false ---> false
true  &&  true  -- > true
false  &&  false -->  false
//两者都为真结果为真
//有一个为假,结果为假

true  | |  false ---> true
true  | |  true  -- > true
false  | |  false -->  false
//两者都为假结果为假
//有一个为真,结果为真

   字符串测试:
-z  为空为真
-n  不为空为真
 =   相同为真
!=   不相同为真
 >   字典排名在前为真
 <   字典排名在后为真
  
   算数测试操作:
-eq   等于
-ne   不等于
-gt    大于
- ge   大于等于
-lt      小于
-le     小于等于

单分支
        if   测试的语句或命令
        then   
              执行语句
       fi

双分支:
       if   测试的语句或命令
       then
执行语句1
       elif
       then
执行语句2
       elif
      then
执行语句3
       elif
      then
执行语句4
       else
      then
执行语句5
       fi

练习:判断输入的成绩在什么档位;
0-59 不及格
60-79 良
80-89 优
90-99 优+
100 满分
下面有答案,先自己写,不要先看哦

#!/bin/bash
read -p “请输入您的成绩:” Score
if [ $Score -ge 0 -a $Score -le 59 ];then
echo “您没有及格!”
elif [ $Score -ge 60 -a $Score -le 79 ];then
echo “您的成绩为良好!”
elif [ $Score -ge 80 -a $Score -le 89 ];then
echo “您的成绩为优秀!”
elif [ $Score -ge 90 -a $Score -le 99 ];then
echo “您的成绩为优秀!”
elif [ $Score -eq 100 ];then
echo “您的成绩为优+!”
else
echo “您的输入有误!”
fi

你可能感兴趣的:(shell,基础)