bash 脚本编程3 条件判断和算术运算 (笔记)

小练习:  写一个脚本

判断系统上是否有用户的默认shell 是 bash的

如果有的话就显示有多少这样的用户 否则就显示无此类用户


#!/bin/bash
#
grep "bash$" /etc/passwd &> /devnull
CODE=$?

if [ $CODE -eq 0  ]; then
        USERNU=`grep "bash$" /etc/passwd | wc -l `
        echo "The number of bash shell user is $USERNU" 英语不怎么样不知道对不对呵呵 
else
        echo "The system is not user of bash shell."    英语不怎么样不知道对不对呵呵

fi


脚本执行结果

[root@localhost ~]# ./first.sh 
The number of bash shell user is 8


练习二:

  1. 查看系统是否有用户的默认的shell是bash 

  2. 有就显示其中一个,没有则显示系统上没有。

脚本写法,和上个脚本相似

#!/bin/bash
#
grep "bash$" /etc/passwd &> /devnull
CODE=$?

if [ $CODE -eq 0  ]; then
        USERNU=`grep "bash$" /etc/passwd | head -n1 | cut -d: -f1 `
        echo "$USERNU is one of bash shell users."
else
        echo "The system is not user of bash shell."
fi

脚本执行结果:

[root@localhost ~]# 
[root@localhost ~]# ./first.sh 
root is one of bash shell users.
[root@localhost ~]# 


如何在shell中进行算术运算(注:默认shell会把变量当成字符不可进行算术运算)

例:

[root@localhost ~]# A=3
[root@localhost ~]# B=6
[root@localhost ~]# C=$A+$B
[root@localhost ~]# echo $C
3+6
[root@localhost ~]# 

如果想让其做算术运算则:


第一种方式: 使用 let 加要进行运算的变量 

例:

[root@localhost ~]# A=3
[root@localhost ~]# B=6

[root@localhost ~]# let C=$A+$B
[root@localhost ~]# echo $C
9
[root@localhost ~]# 


第二种方式: 使用 $[算术表达式]

例:

[root@localhost ~]# A=25
[root@localhost ~]# B=88
[root@localhost ~]# C=$[$A+$B]
[root@localhost ~]# echo $C
113
[root@localhost ~]# 


第三种方式:使用 $((算术表达式))

例:

[root@localhost ~]# A=222
[root@localhost ~]# B=381
[root@localhost ~]# C=$(($A+$B))
[root@localhost ~]# echo $C
603
[root@localhost ~]# 


第四种方式: 使用 expr 算术表达式  注意:表达式中各操作数之间要有空格,而且要使用命令引用

例:

[root@localhost ~]# A=3244
[root@localhost ~]# B=38234
[root@localhost ~]# C=`expr $A + $B`   注意要用空格隔开哈
[root@localhost ~]# echo $C
41478
[root@localhost ~]# 

本文转自Winthcloud博客51CTO博客,原文链接http://blog.51cto.com/winthcloud/1627256如需转载请自行联系原作者


Winthcloud

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值