计算机语言中空下划线,2017-7-31 Shell脚本编程基础
bash中的算术运算:help let
+, -, *, /, %取模(取余), **(乘方)
实现算术运算:
(1) let var=算术表达式
[root@centos7 ~]#a=20 [root@centos7 ~]#b=30 [root@centos7 ~]#c=$a+$b [root@centos7 ~]#let c=$a+$b [root@centos7 ~]#echo $c 50
(2) var=$[算术表达式]——var=$[a+b] echo $var
image.png
(3) var=$((算术表达式)) ——echo $((a+b))
(4) var=$(expr arg1 arg2 arg3 ...)——支持数字运算
image.png (5) declare –i var = 数值
image.png
(6) echo ‘算术表达式’ | bc ——计算从1加到100
image.png
乘法符号有些场景中需要转义,如*
bash有内建的随机数生成器:$RANDOM(0-32767)
echo $[$RANDOM%50] :0-49之间随机数
赋值
增强型赋值: +=, -=, *=, /=, %=
let varOPERvalue
例如:let count+=3 自加3后自赋值 ——let a+= 5 相当于a=a+5
自增,自减:
let var+=1
let var++ ——
image.png
image.png
let var-=1
let var-
逻辑运算
true, false 1, 0
与: 全是1结果为1,有0则是0
1 与 1 = 1 1 与 0 = 0 0 与 1 = 0 0 与 0 = 0
或:有1则为1,全0则是0
1 或 1 = 1
1 或 0 = 1
0 或 1 = 1
0 或 0 = 0
非:!就是取反
! 1 = 0
! 0 = 1
短路运算
短路与 第一个为0,结果必定为0 ——cmd1 &&cmd2:cmd1为假的时候,不去执行后面的命令,结果也为假
第一个为1,第二个必须要参与运算 ——cmd1 && cmd2:cmd1为真的时候,去执行cmd2,cmd2为真的时候,结果为真,cmd为假的时候,结果为假
短路或 第一个为1,结果必定为1——cmd1 || cmd2:cmd1为真的时候,不去执行cmd2,结果为真
cmd2第一个为0,第二个必须要参与运算 ——cmd1为假的时候,cmd2为真的时候,去执行cmd2 ,结果为真,cmd2为假的时候,结果为假
异或:^ 异或的两个值,相同为假,不同为真
例子:当a=5,b=8时,通过异或实现a与b的互换
image.png
条件测试
(1) 判断某需求是否满足,需要由测试机制来实现 专用的测试表达式需要由测试命令辅助完成测试过程
(2) 测试命令: test EXPRESSION
image.png
例1:如果比较两个值相等,则输出结果显示为'equal',可以采用短路与来实现 a=xcv,b=xcv
image.png
例2:此时,改变b的值,让其不等于a,那么采用短路或实现输出结果为'not equal'
image.png
[ EXPRESSION ] =等价test变量
image.png
在test测试用法中空字符等同于没有赋值,而给变量赋值0或是空格,就是赋值输出结果为真
image.png
test:
-n:非空为真判断变量是否为空一定要加双引号
image.png
-z:空为真当给sdc赋值后,不再为空,那么空为假,则不执行下面的命令
image.png
数值测试:
-gt 是否大于
-ge 是否大于等于
-eq 是否等于
-ne 是否不等于
-lt 是否小于
-le 是否小于等于
例1:
image.png
例2:
image.png
例3:读取磁盘分区利用率,如果利用率大于10则报警
image.png
字符串测试:
"在没有赋值的时候,给字符串加上引号"
== 是否等于 > ascii码是否大于ascii码
< 是否小于 != 是否不等于
=~ 左侧字符串是否能够被右侧的PATTERN所匹配 注意: 此表达式一般用于[[ ]]中扩展的正则表达式
[[ EXPRESSION ]] ——支持正则表达式
image.png
注意:EXPRESSION前后必须有空白字符,在正则表达式中,字符串不用加引号
image.png
计算机语言中空下划线,2017-7-31 Shell脚本编程基础相关推荐
- Linux基础篇--shell脚本编程基础
Linux基础篇–shell脚本编程基础 本章内容概要 编程基础 脚本基本格式 变量 运算 条件测试 配置用户环境 7.1 编程基础 程序:指令+数据 程序编程风格: 过程式:以指令为 ...
- Linux Shell脚本编程基础
2 Linux Shell脚本编程基础 发表于: Linux, Shell, UNIX, 资源分享 | 作者: 谋万世全局者 标签: Linux,Shell,编程基础,脚本 本文作者:Leal 授权许 ...
- SHELL 脚本编程基础
目录 前言 一. shell 概述 1.1 shell 和 shell 脚本 1.1.1 什么是shell 1.1.2 shell的作用 1.1.3 shell脚本是什么 1.1.4 shell脚本能 ...
- linux基础—课堂随笔_03 SHELL脚本编程基础
shell脚本编程基础 条件选择:if语句 选择执行: 注意:if语句可嵌套 单分支 if(开头)判断条件:then 条件为真的分支代码 fi(结尾) 双分支 if(开头)判断条件:then 条件为 ...
- 算法及shell脚本编程基础
bash存在多命令执行的特性,例如:# COMMAND1 $(COMMAND2):还有进程之间的通信(IPC):# COMMAND1 | COMMAND2- 一.命令执行结构与算法 命令执行中,存在顺 ...
- 《Linux命令行与shell脚本编程大全 第3版》Shell脚本编程基础---34
以下为阅读<Linux命令行与shell脚本编程大全 第3版>的读书笔记,为了方便记录,特地与书的内容保持同步,特意做成一节一次随笔,特记录如下: 转载于:https://www.cnbl ...
- 《Linux命令行与shell脚本编程大全 第3版》Shell脚本编程基础---02
以下为阅读<Linux命令行与shell脚本编程大全 第3版>的读书笔记,为了方便记录,特地与书的内容保持同步,特意做成一节一次随笔,特记录如下: 转载于:https://www.cnbl ...
- 《Linux命令行与shell脚本编程大全 第3版》Shell脚本编程基础---20
以下为阅读<Linux命令行与shell脚本编程大全 第3版>的读书笔记,为了方便记录,特地与书的内容保持同步,特意做成一节一次随笔,特记录如下: 转载于:https://www.cnbl ...
- 《Linux命令行与shell脚本编程大全 第3版》Shell脚本编程基础---43
以下为阅读<Linux命令行与shell脚本编程大全 第3版>的读书笔记,为了方便记录,特地与书的内容保持同步,特意做成一节一次随笔,特记录如下: 转载于:https://www.cnbl ...
- 《Linux命令行与shell脚本编程大全 第3版》Shell脚本编程基础---23
以下为阅读<Linux命令行与shell脚本编程大全 第3版>的读书笔记,为了方便记录,特地与书的内容保持同步,特意做成一节一次随笔,特记录如下: 转载于:https://www.cnbl ...
最新文章
- 前向传播和反向传播_深度学习的地基模块:模型、参数、非线性、前向传播、反向偏微分
- 索尼搞了个大新闻!AI打败人类三冠王,登上Nature封面,这波让任天堂无话可说...
- 【编译原理】关于NFA和DFA-集合定义的探索
- Struts的基础案例的步骤
- python求乘积内建函数_Python中的内建函数(Built_in Funtions)
- 洛谷P5110:块速递推(特征根方程、光速幂)
- Material Design综合实例
- Java成神之路——一文搞懂CAS
- TokenInsight:反映区块链行业整体表现的TI指数较昨日同期上涨0.56%
- Win 10 没有 Hyper-V 解决方案
- Oracle如何实现利用实体化视图提高查询性能
- Easy-rules使用介绍
- 免费网络硬盘-千脑网盘
- 调整计算机硬盘大小,详细教您怎么调整硬盘分区
- 从条件概率到贝叶斯公式
- android实训总结ppt模板,ppt制作实训心得.docx
- 计算机图片怎么截图快捷键,电脑系统截图快捷键(电脑怎么截图)
- GNSS观测数据下载地址
- 多线程爬取中国土地市场网土地交易数据,最新2020/08/21
- anc降噪是什么意思
热门文章
- RabbitMQ安装方法 安装完成已验证方法步骤可行性
- 反思代码能力提升点:写链接不要写带域名的 一换环境就要改
- PHPExcel设置自动列宽
- Linux的Nginx一:概况
- python3迭代器和可迭代对象_一文读懂 Python3 可迭代对象、迭代器、生成器区别...
- python替换缺失值_python 缺失值处理(Imputation)
- Oracle Minus 取差集
- c语言 rand_C语言随机数
- java存储过程与sql语句_存储过程与SQL语句怎么选择
- canvas中文显示乱码 html5_浅析HTML5 Canvas的几种中文字体缩小方案