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

脚本执行结果

[[email protected] ~]# ./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

脚本执行结果:

[[email protected] ~]#
[[email protected] ~]# ./first.sh
root is one of bash shell users.
[[email protected] ~]#

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

例:

[[email protected] ~]# A=3
[[email protected] ~]# B=6
[[email protected] ~]# C=$A+$B
[[email protected] ~]# echo $C
3+6
[[email protected] ~]#

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

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

例:

[[email protected] ~]# A=3
[[email protected] ~]# B=6

[[email protected] ~]# let C=$A+$B
[[email protected] ~]# echo $C
9
[[email protected] ~]#

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

例:

[[email protected] ~]# A=25
[[email protected] ~]# B=88
[[email protected] ~]# C=$[$A+$B]
[[email protected] ~]# echo $C
113
[[email protected] ~]#

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

例:

[[email protected] ~]# A=222
[[email protected] ~]# B=381
[[email protected] ~]# C=$(($A+$B))
[[email protected] ~]# echo $C
603
[[email protected] ~]#

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

例:

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

时间: 2024-10-16 12:20:51

bash 脚本编程3 条件判断和算术运算 (笔记)的相关文章

bash脚本编程之三 条件判断及算术运算

练习:写一个脚本,完成以下任务 1.添加5个用户,user1,--,user5 2.每个用户的密码同用户名,而且要求,添加密码完成后不显示passwd命令的执行结果信息 3.每个用户添加完成后,都要显示用户某某已经成功添加 !id user1  &>/etc/null && useradd user1 && echo "user1 " | passwd --stdin user1  &> /etc/null &&

bash脚本编程之条件判断、条件测试

脚本编程: 编程面向过程有如下几种执行方式 顺序执行 选择执行:  如 if, case 循环执行:  如 for, while, until bash的变量类型: 本地变量 set VAR_NAME=value 设置变量赋值 如: set User=Centos unset VAR_NAME 撤消变量赋值 如: unset User=Centos ${VAR_NAME} 作用范围:当前shell进程: 局部变量 local VAR_NAME=value 设置变量赋值 unset VAR_NAM

linux 笔记--扩展正则表达式,bash脚本—变量,条件判断,算术运算

正则表达式:有两类,一:basic regexp  二:extended(扩展正则表达式)  他们的部分元字符不一样,意义也不相同 grep:使用基本正则表达式或定义的模式中过滤文本的命令,-E;使用扩展正则表达式  -A 数字:不仅显示匹配到的行,还显示后面几行  -B 数字:不仅显示匹配到的行,还显示前几行  -C 数字:不仅显示匹配到的行,还显示前后个几行 扩展正则表达式: 其中 . [] [^] * ^ $ \< \>与grep是相同的, ? 与 \?:意思相同,可以不写\  +:其前

bash脚本编程之条件判断

1.bash脚本编程格式: 顶格写#!/bin/bash 接下来给出一些注释信息,以#开头如: #description #version #auhor ceshi <[email protected]> #date 2017-11-07 然后代码注释 缩进,适度添加空白行 2.变量介绍: 局部变量 本地变量 环境变量 位置参数变量 特殊变量 3.数据类型: 字符型 数值型 4.bash算数运算: 方法①:let var=$num1 op $num2 方法②:var=$[ expression

bash脚本编程之一 条件判断and 逻辑运算

1.条件测试结构 1) if/then结构: 判断命令列表的退出码是否为0,0为成功. 如果if和then在条件判断的同一行上的话, 必须使用分号来结束if表达式: if和then都是关键字. 关键字(或者命令)如果作为表达式的开头, 并且如果想在同一行上再写一个新的表达式的话, 那么必须使用分号来结束上一句表达式. if [ condition1 ] then     command1     command2     command3 elif [ condition2 ] then # 与

shell脚本编程:条件判断if语句使用小结

shell脚本编程,有三种控制结构分别是:顺序结构,条件判断结构,循环结构.本文将总结shell脚本中条件判断结构的使用方法. 条件判断结构分为三种,单分支,双分支,多分支,等结构. 单分支结构的语法如下: if [ expression  ] ;then statement1 statement2 ......... fi 双分支语法结构: if [ expression ];then statement1 statement2 ..... else statement3 statement4

linux--shell编程(三)条件判断及算术运算

练习:写一个脚本判断当前系统上是否有用户的默认shell为bash: 如果有,就显示有多少个这类用户:否则,就显示没有这类用户: #!/bin/bash # grep '\<bash$' /etc/passwd &> /dev/null RETVAL=$? if [ $RETVAL -eq 0 ]; then USERS=`grep "\<bash$" /etc/passwd | wc -l` echo "hava $USERS users use

bash脚本编程之变量、变量类型、条件测试、算术运算、及特殊变量

一.学习目的 1.了解bash脚本的变量类型及变量的使用 2.了解bash中条件测试的种类及如何在bash中实现条件的判断 3.学会在bash中做算术运算 4.了解特殊变量的使用 二.学习内容 1). ①.bash的变量类型: 环境变量 .本地变量.局部变量.位置变量.特殊变量 环境变量: export VALUENAME = VALUE 作用领域是当前的shell进程及其子进程 本地变量: VALUENAME= VALUE 作用领域为整个bash的进程 局部变量:local VALUENAME

Linux学习笔记--bash脚本编程之二、条件判断

 bash脚本编程之二.条件判断 条件判断: 如果用户不存在 添加用户,给密码并显示添加成功: 否则 显示用户已存在,没有添加 bash中如何实现条件判断? 整数测试 字符测试 文件测试 条件测试的表达式:     [expression]     [[expression]]     test expression 整数比较: -eq:测试两个整数是否相等:比如 $A -eq $B     -ne:测试两个整数是否不等:不等,为真:相等,为假:     -qt:测试一个数是否大于另一个数:大于