前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >九、条件表达式和操作符案例

九、条件表达式和操作符案例

原创
作者头像
jackxiao
发布2021-11-16 15:35:12
1760
发布2021-11-16 15:35:12
举报
文章被收录于专栏:DevOps运维

一、扩展

双中括号判断输入的不等于1、2、3的用法

代码语言:javascript
复制
[[ ! $sum =~ [1-3] ]] && {
  echo "the num you input must be {1|2|3}"
  echo "input error"
  exit 4
}

二、案例1

输入一个字符,如果是1则打印1,如果是2则打印2,不过都不是则提示错误并退出

1) 脚本

  • cat /server/scripts/t7.sh
代码语言:javascript
复制
#!/bin/bash
echo -n "pls input a char:"
read var
[ "$var" == "1" ] && {
  echo 1
  exit 0
}
[ "$var" -eq "2" ] && {
 echo 2
 exit 0
}
[ "$var" != "1" -a "$var" -ne "2" ] && {
 echo error
 exit 0
}

2) 执行

  • sh /server/scripts/t7.sh pls input a char:1 1
  • sh /server/scripts/t7.sh pls input a char:2 2
  • sh /server/scripts/t7.sh pls input a char:3 error

三、案例2

开发shell脚本,用read读入的方式比较两个整数的大小,禁用if,屏幕输出结果,提醒用户,需要对变量是否为数字及传参个数是否正确给予提示

脚本

  • cat /server/scripts/t1.sh
代码语言:javascript
复制
#!/bin/bash
read -t 10 -p "pls input tow int:" a b
#no.1
[ -z $a -o -z $b ] && {
  echo "errrr:input tow int"
  exit 1
}
#no.2
expr $a + $b + 0 &>/dev/null
[ $? -eq 0 ] || {
  echo "error:input int"
  exit 2
}
#no.3
[ $a -eq $b ] && {
  echo '$a = $b'
  exit 0
}
#no.4
[ $a -gt $b ] && echo '$a > $b'|| echo '$a < $b';exit 0

四、 案例3

打印选择菜单,按照选择想一件按照不同的web服务

  • cat /server/scripts/t2.sh
代码语言:javascript
复制
#!/bin/bash
path=/server/scripts
[ ! -d "$path" ] && mkdir $path -p
#以上定义路径并验证,不存在则创建
cat <<EOF
1.install lamp
2.install lnmp
3.exit
Plase input the num you want:
EOF
#以上语句打印选择菜单
read num
expr $num + 0 &>/dev/null
[ $? -ne 0 ] && {
  echo "error input char: $num"
  echo "must  input  int: 1 2 3"
  exit 1
}
#以上判断输入的是否为整数
[ $num -eq 1 ] && {
  echo "lamp is installing."
  sleep 2;
  [ -x $path/lamp.sh ] || {
      echo "$path/lamp.sh can not exec"
      exit 2
  }
  $path/lamp.sh
  exit 0
}
#以上执行lamp脚本,并判断脚本权限是否可执行
[ $num -eq 2 ] && {
  echo "lnmp is installing"
  source $path/lnmp.sh
  exit 0
}
#以上是执行lnmp脚本,使用source命令不需要执行权限也可以执行
[ $num -eq 3 ] && exit 0
echo "error input int: $num"
echo "must  input num:1 2 3"
exit 5
#输入3退出脚本,否则提示输入错误,也退出脚本

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、扩展
  • 二、案例1
    • 1) 脚本
      • 2) 执行
      • 三、案例2
        • 脚本
          • 四、 案例3
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档