Linux | shell脚本-比较判断和运算语句
一、简介
在我们写shell脚本的过程中,经常需要作比较判断,例如比较哪个数字大,判断文件是否存在,判断文件是否是目录,判断是否为真等操作。有时候我们还需要做运行,例如加减乘除等等,今天就来简单介绍比较表达式和运行表达式。 二、shell比较判断1、文件状态: 2、整数值比较 (3) -gt 大于 3、字符比较 4、逻辑判断:(两个或两个以上判断条件时使用逻辑比较) 三、shell运算语法1、运算符 2、运算命令 i=0;i++;echo $i (3) 使用$[]或者 $(())表达式(需要借助echo输出结果,运算类型与expr类似) PS:乘法 不需要加转义符 使用变量时,直接指定变量名,不用加$符号 echo $[] echp $(()) 1)例子:a=10 b=10 没加转义: 加转义: 2)a=10 b=10 echo $((ab)) (4) 变量的递增、递减等操作 表达式的简化: +=x 每次自加x -=x 每次自减x i=i+2 ----> i+=2 i=i-2 ----> i-=2 i=i-1 ----> i-- i=i2 ----> i=2 i=i+1 ----> i++ i=i%2 ----> i%=2 (5) 实战例子:加减乘除计算器 运行结果: 四、重定向(改变数据的输出设备)1、重定向输出 >>追加 2、重定向输入 <覆盖 <<追加 3、重定向错误输出 2 >覆盖 2 >>追加 4、重定向输出和错误输出 &>覆盖 &>追加 5、/dev/null 一个黑洞设备 五、实战(1) &和|| 脚本中的使用,重定向的使用 && 前面的操作执行成功后面才继续执行,反之不执行后面的操作 例子:ping -c 3 1.1.1.1 &> /dev/null && echo "on line" (命令行不输出ping结果,直接输出结果) 例子: ping -c 3 121.201.88.88 2> /dev/null && echo "on line"(这个在命令行输出ping的结果,并且输出结果) 成功就输出内容 失败就什么都不输出 Ping失败,不输出内容 || 前面的操作执行,后面的操作才执行。若前面的操作执行成功,后面的操作就不执行。 ping -c 2 121.201.88.89 || echo “pc not online” (2) 实战:检测主机是否在线 vim test.sh 下期预告:shell脚本-条件判断语句if和循环语句for 睿江云计算官网链接:https://www.eflycloud.com/home?from=RJ_0024 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |