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
转载于:https://blog.51cto.com/winthcloud/1624687
bash 脚本编程2 条件判断 (笔记)相关推荐
- bash脚本编程之条件判断、条件测试
脚本编程: 编程面向过程有如下几种执行方式 顺序执行 选择执行: 如 if, case 循环执行: 如 for, while, until bash的变量类型: 本地变量 set VAR_NAME ...
- bash脚本编程之一 条件判断及算术运算
一.脚本,判读当前系统是否有用户默认的shell,为bash.如果有就显示这类用户的个数,否则没有就显示"没有这类用户". vim bash.sh #!/bin/bash grep ...
- Bash脚本教程之条件判断
目录 if 结构 test 命令 判断表达式 文件判断 字符串判断 整数判断 正则判断 test 判断的逻辑运算
- linux bash脚本编程知识点
bash变量类型: 环境变量 本地变量(局部变量) 位置变量 特殊变量 本地变量: set VARNAME=VALUE: 作用域为整个bash进程: 引用变量 $(varname) 局部变量: loc ...
- 高级Bash脚本编程指南《Advanced Bash-Scripting Guide》 in Chinese
<Advanced Bash-Scripting Guide> in Chinese <高级Bash脚本编程指南>Revision 10中文版 在线阅读链接:http://ww ...
- bash脚本编程入门_Bash编程入门
bash脚本编程入门 对Unix的最初希望之一是,它将使日常的计算机用户能够微调其计算机以适应其独特的工作风格. 在过去的几十年中,对计算机定制的期望已经降低,许多用户将他们收集的应用程序和网站视为他 ...
- Bash脚本编程之算术运算
简介 Bash所支持的算术运算和C语言是一样的,这里指的是操作符(operator)以及它们的优先级(precedence).结合性(associativity)和值,详见Shell Arithmet ...
- Bash脚本编程学习笔记02:脚本基础和bash配置文件
脚本基础 参考资料:Shell Scripts (Bash Reference Manual) 不严谨地说,编程语言根据代码运行的方式,可以分为两种方式: 编译运行:需要先将人类可识别的代码文件编译成 ...
- linux的逻辑运算参数,Linux基础之bash脚本编程初级-逻辑运算与测试
引言 前面介绍了bash编程的基础变量与算术表达式,本文介绍在脚本中的进阶知识:测试 在bash中测试大体分两部分:条件测试.组合测试. 而条件测试又分:数值测试.字符串测试.文件测试. 组合测试则有 ...
最新文章
- 那些总是写“烂代码”的同学,强烈推荐你使用这款IDEA插件!
- 求解最大公约数算法(包含四种方法)
- Android抓包方法(一)之Fiddler代理
- leetcode1405. 最长快乐字符串(贪心算法)
- 2017-2018-1 20155339 《信息安全系统设计基础》第三周学习总结
- 《淘宝网》质量属性简析
- Spread基本知识(一)
- 极域电子书包课堂管理系统安装
- c# chart 各个属性_c# Chart设置样式
- 我的大三,青山隐隐,绿水悠悠
- MATLAB画颗圣诞树
- 软考(一)——数据流图
- 对实际电流源中内阻变化的简单分析
- 简述网桥的特点_网桥的工作原理和特点是什么呢?
- oracle命名规则
- 观黄梅戏《打猪草》有感
- 在 Kubernetes 上安装和运行极狐GitLab实例
- greensock下载_GreenSock MorphSVGPlugin
- 深度卷积神经网络(AlexNet)与卷积神经网络(LeNet)的区别及其代码实现(可直接复制运行)
- 动态网站的制作与设计_动态网站设计要注意那些细节
热门文章
- java collections_Java集合基础的详细介绍(二)
- c语言logout_C++ 格式化日志输出实现代码
- springcloud 组件_SpringCloud组件mica 2.0.5发布,添加对sentinel、undertow指标收集
- 6-flutter 状态管理
- 如果有电脑——计算机达人成长之路(36)
- 新的理念、 新的解决方案、 新的Azure Stack技术预览
- 2016百度实习编程题:括号序列
- 大型网站系统架构系列:分布式消息队列(二)
- 将博客搬至51CTO
- 一起谈.NET技术,专访微软MVP衣明志:走进ASP.NET MVC 2框架开发