linux 运维 bash脚本,Linux初级运维(六)——bash脚本编程(条件判断)

标签:

一、bash中如何实现条件判断

1、条件测试类型

整数测试

字符测试

文件测试

2、条件测试的表达式

[expression]

[[expression]]

test expression

3、整数比较:

-eq:测试两个整数是否相等:比如 $A -eq $B

6749920d3d355d4fe341b78c69156f05.png

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

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

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

-ge:大于或等于

-le:小于或等于

二、bash 命令之间的逻辑关系

逻辑与(&&):只要一个为假,则结果一定为假

(当第一个条件为假时,第二个条件不用再判断,最终结果已经有;当第一个条件为真时,第二个条件必须得判断。)

fa94c0b32f1f6e7321f49df1f63ca8c3.png

逻辑或(||):只要一个为真,则结果一定为真

例子:如果用户user6不存在,就添加用户user6

两种表达方式:(1)!id user6 && useradd user6    (2)id user6 || useradd user6

1、如果用户存在,就显示用户已存在,否则,就添加用户:

id user1 && echo “user1 exists.” || useradd user1

如果用户不存在,就添加,否则,显示用户已存在:

! id user1 && useradd user1 || echo "user1 exists."

如果用户不存在,添加并且给密码,否则,显示其已经存在

!id user1 && useradd user1 && echo "user1" | passwd --stdin user1 || echo "user1 exists."

2、练习题:

(1)、添加3个用户user1,user2,user3;但要先判断用户是否存在,不存在而后在添加

(2)、添加完成后,显示一种添加了几个用户;当然,不能包括因为事先存在而没有添加的。

(3)、最后显示当前系统上共有多少个用户。

83a98c490079aa7db3f785ee9d4f14ce.png

3、练习题

写一个脚本,完成以下要求:

(1)如果其UID为0,就显示为管理员;

(2)否则,就显示其为普通用户;

c192da66363d1dc6d39c13cf9b77eee9.png

三、条件判断,控制结构

1、单分支if语句

if 判断条件;then

statement1

statement2

...

fi

46b545308ce9bac203f6619439ce9773.png

2、双分支的if语句

if 判断条件;then

statement1

statement2

...

else

statement3

statement4

....

fi

0c9135f54a3e9fd44b3a3d7ac0cb9c07.png

四、shell中进行算术运算

(1)let 算术运算表达式

A=3

B=6

let C=$A+$B

(2)$[算术运算表达式]

A=3

B=6

C=[$A+$B]

98a75b84ae7b3ca90eac5e08b58b9193.png

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

A=3

B=6

C=(($A+$B))

(4)expr 算术运算表达式,表达式中各操作数及运算符之间要有空格,而且要使用命令引用。

C=`expr $A + $B`

五、练习题

1、写一个脚本

判断当前系统上是否有用户的默认shell为bash;

如果有,就显示有多少个这类用户;否则,就显示没有这类用户。

a66570a7fe91bf1ac79f5d59865c6a66.png

f255b2a24863aaaa6ff4a9db470c3f01.png

2、写一个脚本

判断当前系统上是否有用户得默认shell为bash;

如果有,就显示其中一个的用户名;否则,就显示没有这类用户。

e85ab14125c2dcca26ce1c3dfd389f4d.png

标签:

来源: http://blog.51cto.com/5001660/2176820

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值