美文网首页
08 - shell之if语句

08 - shell之if语句

作者: 舍是境界 | 来源:发表于2022-03-20 07:23 被阅读0次

if单分支判断

  • 当"条件成立"时执行命令序列
  • 否则,不执行任何操作
if 条件测试
  then 命令序列
fi

if 条件测试;then
  命令序列
fi

案例

  • 判断用户名与密码是否为空
#!/bin/bash
read -p "请输入用户名:" user
read -s -p "请输入密码:" pass
if [ ! -z "$user" ];then
  #useradd "$user"
  echo "添加user: $user"
fi

if [ ! -z $"pass" ];then
  #echo "$pass" | passwd --stdin "$user"
  echo "修改密码为:$pass"
fi
echo

 ./user_v1.sh 
请输入用户名:cao
请输入密码:添加user: cao
修改密码为:11
#!/bin/bash
  
read -p "请输入用户名:" user
read -s -p "请输入密码:" pass
if [ ! -z "$user" ] && [ ! -z "$pass" ];then
  echo "add user: $user, password: $pass"
fi
echo

./user_v2.sh 
请输入用户名:cao
请输入密码:
add user: cao, password: 111
  • 测试主机是否能ping通

#!/bin/bash
#-c(设置ping的次数),-i(设置ping的间隔描述),-W(设置超时时间)
ping -c2 -i0.1 -W1 $1 &>/dev/null
if [ $? -eq 0 ];then
  echo "$1 is up"
else
  echo "$1 is down"
fi

./ping.sh 192.168.0.155
192.168.0.155 is up

if多分支判断

  • if双分支判断语法
    • 相当于if语句嵌套
    • 针对多个条件分别执行不同的操作
if 条件测试1;then
  命令序列1
elif 条件判断2;then
  命令序列2
... ...
else
  命令序列n
fi
  • 案例
    • 猜数字
#!/bin/bash
#脚本自动生成10以内的随机数,根据用户的输入,输出判断结果
clear
num=$[RANDOM%10+1]
read -p "请输入1~10之间的整数:" guess
if [ $guess -eq $num  ];then
  echo "猜对了,你真棒,就是:$num"
elif [ $guess -lt $num  ];then
  echo "Oops,猜小了。"
else
  echo "Oops,猜大了。"
fi

./guess_num.sh 
请输入1~10之间的整数:5
猜对了,你真棒,就是:5

./guess_num.sh 
请输入1~10之间的整数:5
Oops,猜大了。

小结

  • 掌握基本if语法格式
  • 编写脚本练习if语句的具体应用案例
    • 判断用户输入的字符串是否为空
    • 检测主机连通性
    • 猜数字

相关文章

  • 08 - shell之if语句

    if单分支判断 当"条件成立"时执行命令序列 否则,不执行任何操作 案例 判断用户名与密码是否为空 测试主机是否能...

  • Shell 流程控制

    case语句 Shell case语句为多选择语句。 输出 while语句 输出 Shell 双括号运算符

  • SHELL 笔记

    shell笔记 判断语句 运算 选择语句 循环语句 将shell字句执行结果复制给变量 shell简单传参 编号变...

  • Shell编程之条件判断与流程控制

    一、条件判断式语句 1.shell条件判断式语句之按文件类型判断 两种判断格式:①test -e /root/in...

  • Shell编程-08-Shell中的if语句

        在任何一门语言中,判断语句总是少不了,今天来学习一下Shell中的if语句。 基本语法 单分支情况 第一种...

  • Shell 语句语法详解

    Shell 语句语法详解 shell里的if语句 if 语句通过关系运算符判断表达式的真假来决定执行哪个分支。Sh...

  • 11 - shell之case语句

    case语法格式 检查、判断变量的取值效果类似于多分支的if语句如果与预设的值相匹配,则执行相应的操作命令序列最后...

  • Shell语句

    if else 如果else分支没有语句执行,就不要写这个else。if 语句语法格式: 实例 输出结果: for...

  • Shell if语句

    1、基本语法: 2、扩展语法: 3、语法说明: bash shell会按顺序执行if语句,如果command执行后...

  • shell 笔记 Day03

    shell 笔记 Day03 case语句:case 变量 in模式1)语句;;模式2)语句;;*)默认语句esa...

网友评论

      本文标题:08 - shell之if语句

      本文链接:https://www.haomeiwen.com/subject/imdddrtx.html