08 - shell之if语句

2022-03-20  本文已影响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

#!/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 条件测试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,猜大了。

小结

上一篇 下一篇

猜你喜欢

热点阅读