bash 脚本编程2 条件判断 (笔记)

简介:

条件判断类型:

    整数测试

    字符测试

    文件测试


条件表达式: [ exppression ] ` expression ` test expression 

             注意一定要加空格前后都要加


整数比较:  -eq 测试两个整数是否相等,相等为真,不等为假。 equal

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

            -gt 测试一个整数是否大于另一个,大于为真,否则为假。 greater than

            -lt 测试一个速度是否小于另一个,小于为真,否则为假。 less than

            -ge 大于或等于 greater than or equal

            -le 小于或等于 less than or equal


命令间的逻辑关系 逻辑与 &&      逻辑或 ||


变量命名规则:1.只能包含字母、数字和下划线,并且不能数字开头。

              2.不应该跟系统中已有的环境变量重名。

              3.最好做到见名知意。(即看到名字明白其含义)。


下面则是几个应用小实例:

整数比较:

比较两个变量其中一个是否比另一个大:

[root@localhost ~]# A=3
[root@localhost ~]# B=2
[root@localhost ~]# [ $A -gt $B ]  (切记要加空格哦!!前后都要,否则会提示语法问题)
[root@localhost ~]# echo $?
0
[root@localhost ~]# 



逻辑与&&和逻辑或|| 的运用

逻辑与&&

[root@localhost ~]# id user1 &> /dev/null && echo "hello, user1"
hello, user1
[root@localhost ~]# 

上边的命令的含义是 如果前边的命令为真(即执行成功)则后边也跟着执行  

即串连电路 第一个为真则检查第二条, 

即两条命令都执行  

真 真 结果为真  

假 真 结果为假 

真 假 结果为假 

假 假 结果为假


逻辑或||

[root@localhost ~]# id user2 &> /dev/null || useradd user2

此命令解释: 如果用户不存在则添加此用户逻辑或||

只要有一个真则结果为真 反过来 只有全为假结果才为假 即:

真 真 结果真

真 假 结果真

假 真 结果真

假 假 结果假

即并连电路,有一条电路通则结果就通


[root@localhost ~]# ! id user1 &> /dev/null && useradd user1

非 ! 即 非真即假  非假即真 结合后边的 与运算  也可以实现

如果用户不存在则添加此用户



条件判断 控制结构 

单分支IF语句

if 如果 判断条件; then 然后(注意如果then和if不在同一行可以省略;分号)

    statement1

    statement2

    ...

if  (结束)


双分支语句

if 判断条件

then 然后

    statement 1

    statement2

    statement3

else 否则

    statement4

    statement5

fi 结束


上边的相信估计看不懂,,下边举一个例子:

显示一个用户的是否为系统用户 即ID为0 如果是则输出administrator 不是则 common 

此脚本写法:


#!/bin/bash

NAME=root


if [ `id -u $NAME` -eq 0 ] ;

then 

    echo "this is administrator"

else

    echo "this is common user"

fi



解释: 如果变量$NAME即root的ID为0则输出this is administrator

       否则 即ID不等于0时  则输出 this is common user

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

Winthcloud
相关文章
|
7月前
|
监控 安全 Shell
防止员工泄密的措施:在Linux环境下使用Bash脚本实现日志监控
在Linux环境下,为防止员工泄密,本文提出使用Bash脚本进行日志监控。脚本会定期检查系统日志文件,搜索敏感关键词(如"password"、"confidential"、"secret"),并将匹配项记录到临时日志文件。当检测到可疑活动时,脚本通过curl自动将数据POST到公司内部网站进行分析处理,增强信息安全防护。
180 0
|
2月前
|
Devops 关系型数据库 大数据
1000个开源免费的bash脚本合集
【10月更文挑战第4天】
|
7月前
|
存储 Shell Linux
Linux Bash 脚本中的 IFS 是什么?
【4月更文挑战第25天】
139 0
Linux Bash 脚本中的 IFS 是什么?
|
4月前
|
Shell
一个能够生成 Markdown 表格的 Bash 脚本
【8月更文挑战第20天】这是一个使用Bash脚本生成Markdown表格的示例。脚本首先设置表头与内容数据,然后输出Markdown格式的表格。用户可以根据需要自定义表格内容。使用时,只需将脚本保存为文件(如 `generate_table.sh`),赋予执行权限,并运行它,即可在终端看到生成的Markdown表格。
|
4月前
|
Unix Shell Linux
在Linux中,什么是Bash脚本,并且如何使用它。
在Linux中,什么是Bash脚本,并且如何使用它。
|
4月前
|
Shell 开发者
深入理解Bash脚本中的函数
【8月更文挑战第20天】
63 0
|
4月前
|
存储 Shell 数据处理
深入探讨Bash脚本中的数组
【8月更文挑战第20天】
31 0
|
4月前
|
存储 Shell
Bash 脚本中的 `hash` 命令
【8月更文挑战第19天】
34 0
|
6月前
|
Unix Shell Linux
技术经验分享:Bash脚本命令使用详解
技术经验分享:Bash脚本命令使用详解
47 0
|
7月前
|
存储 弹性计算 运维
用bash脚本创建目录
【4月更文挑战第29天】
54 3