linux脚本条件判断或,shell脚本逻辑运算及条件判断

变量

bash变量类型:

环境变量

局部(本地)变量

声明环境(全局)变量,赋值:declare -x name= VALUE

删除环境(全局)变量:unset name

位置变量

$1 ,$ , ….          shift 轮替

特殊变量

$?,$#,$*,$@

shell中如何进行算数运算

bash中的算术运算:help let

+,-,*,/,%取模(取余),**(乘方)

例:A=3 B=6

1. let 算数运算表达式

let c=$A+$B

2 $ [算数运算表达式]

$[$A+$B]

3$((算数运算表达式))

$(($A+$B))

4expr 算数运算表达式,表达式中各操作数及运算符之间要有空格,而且必须有反引号

c=`expr $A + $B `4

5.随机数生成 $RANDOM (0-32767)

乘法符号有些场景中需要转义,如\*

赋值

增强型赋值:

+=,-=,*=,/=,%=

例如 let count +=3(自加3后赋值)

自增,自减:

let var+=1

let var++

lat var-=1

let var–

—————————————————————————————————————————–

脚本调试

测试脚本是否有语法错误

bash -n 脚本

bash -x 脚本: 调式执行

条件判断

bash中如何实现条件判断

条件测试类型:

整数测试

字符测试

文件测试

条件测试的表达式:

[ expression ]

[ [ expression ] ] 使用正则表达式用

test expression

整数测试

例 [ $A -eq $ B ]

-eq: 测试两个整数是否相等: 等于,为真|否则,为假

-ne: 测试两个整数是否不等: 不等,为真|否则,为假

-gt: 测试一个数是否大于另一个数:大于,为真|否则,为假

-lt: 测试一个数是否小于另一个数:小于,为真|否则,为假

-ge: 大于或等于

-le: 小于或等于

文件测试

例[ -e /etc/passwd ]

-e FILE: 测试文件是否存在

-f FILE: 测试文件是否为普通文件

-d FILE: 测试指定文件是否为路径

-r FILE: 测试当前用户对指定文件是否有读权限

-w FILE: 测试当前用户对指定文件是否有写权限

-x FILE: 测试当前用户对指定文件是否有执行权限

字符测试

例[ $A == $B ]

== 比较字符串,相同即为真,不同即为假

!= : 比较字符串,不同即为真,相同即为假

=~: 左侧字符串是否能被右侧的PATTERN(正则)所匹配

-n string: 测试指定字符串是否为空,空则真,不空则假

-s string: 测试指定字符串是否为空,不空则真,空则假

> :

< :

逻辑运算

与,或,非 ,异或(^)

1:真 0:假

与                                         或                                    非

1 & 0 =0                              1 & 0 =1 !                    真 = 假

0 & 1 =0                              0 & 1 =1 !                    假 = 真

0 & 0 =0                             0 & 0 =0

1 & 1 =1                               1 & 1 =1

命令间的逻辑关系

逻辑与:-a           &&            第一个条件为假时,第二个条件不再判断

第一个条件为真时,第二个条件必须得判断

逻辑或:-o          ||              第一个条件为真时,第二个条件不在判断

第一个条件为假时,第二个条件必须得判断

逻辑非:               !

控制结构

单分支if语句           双分支的if语句                      多分支if语句

if 判断条件;then                     if判断条件;then                          if 判断条件1;then

statment1                              statment1                                     statment1

statment2                      else                                                 elif 判断条件2;then

fi                                                       statment2                                    statment2

fi                                                 else

statment3

fi

for循环

进入条件,退出条件

for

while

until

for循环语法:

for 变量 in 列表;do

循环体

done

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/95623

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值