Linux学习——shell编程之运算符
shell编程之运算符
一:shell中常见算术运算符号和优先级
二:算术运算符
Shell 变量:是弱类型!不能进行加减乘除!比较麻烦!
例子 :shell变量弱类型
a=11
b=22
echo a+b #输出结果 为 11+22
1:双小括号 —— 使用率高,效率也高
(()) #数值运算符 ((运算符)) ,例如 ((x+y)),(())里面字符之间可以没有空格,也可以有空格都不会影响结果。
例子:
((x=x+1)) #将x+1的值赋给x
x=$((x+1)) #表示将表达式的值赋给 x
echo $((3+5)) #将表达式的值输出,此时需要使用echo ,并要加上$,如果没有$ 不会输出。
2:let运算命令
语法格式:
let 赋值表达式 #功能等同于 ((赋值表达式))
举例:
i=1
let i=i+9
echo i # 输出结果为 10
3:expr命令
语法格式:
expr 表达式
举例:
expr 1 + 2 # 输出结果为3
expr 2 * 2 # 输出错误,这里使用 * 需要转义 expr 2 \* 2
#注意,使用expr 计算的数字两边必须至少有一个空格,否则会报错!
#使用 * 乘号,必须转义!
# expr 的一种使用场景:判断一个变量值或字符串是否为整数
利用expr做计算,判断一个未知的变量和一个已知的整数相加,看返回结果是否为0,如果为0就认为做加法的变量为整数,否则就不是整数。
例子:
i=5
expr $i + 5 #把i和整数5相加
echo $? # $? 获取上一个指令的返回状态,这里返回0,说明i是整数
----------------------------------------------------
i=hello
expr $i + 5
echo $? #返回值为2 ,说明i不是整数
备注:
# expr 可以判断文件扩展名是否符合要求
# 通过expr 计算字符串的长度
char="welcome to my blog"
expr length "$char" #类似命令,echo ${#char}
4:bc命令和awk ,可以计算小数
这两个命令这里不进行讲解,需要学习可以自行了解。
5:declare 声明变量类型
# declare[+/-][选项] 变量名
选项:
-- - : 给变量设定类型属性
-- + : 取消变量的类型属性
-- -a :将变量声明为数组型(了解即可,实际用的很少)
-- -i :将变量声明为整数型(integer)
-- -x : 将变量声明为环境变量
-- -r :将变量声明为只读变量
-- -p :显示指定变量的被声明的类型
注:declare 在实际的工作中用的不是很多,因为要定义才生效,了解即可 !
二:read命令的讲解
语法格式:
read [参数][变量名]
参数:
-p prmmpt :设置提示信息
-t timeout :设置输出等待时间,单位默认为 秒
三: 变量测试
shell程序之变量测试
变量测试:只针对shell,实际过程不常用,可了解。
使用场景:变量测试在脚本优化时候使用
shell尽量代码简单!逻辑简单!
变量测试 : http://www.imooc.com/video/6832
看到表格是的这个大概的意思就好了!
欢迎访问我的csdn博客,我们一同成长!
"不管做什么,只要坚持下去就会看到不一样!在路上,不卑不亢!"
博客首页:http://blog.csdn.net/u010648555
Linux学习——shell编程之运算符的更多相关文章
- Linux学习——shell编程之环境变量配置文件
小白学习,在学习中总结! shell编程之环境变量配置文件 一:环境变量配置文件 1 shell编程之环境变量配置 变量类型: 用户自定义变量(本地变量) 环境变量 :定义每个用户的操作环境,如pat ...
- Linux学习——shell编程之变量
shell编程之变量:Linux shell编程基础中的变量. 包括Bash变量的分类和各变量的详细使用,如:用户自定义变量.环境变量.语系变量.位置参数变量和预定义变量. 1:什么是Bash变量? ...
- Linux学习——shell编程之正则表达式和字符处理命令
shell编程之正则表达式 一 正则表达式 1 什么是正则表达式 正则表达式用于描述字符排列和匹配模式的一种语法规则.它主要用于字符串的模式分隔.匹配.查找及替换操作. 2 shell编程之正则表达式 ...
- Linux学习 -- Shell编程 -- 流程控制
if语句 单分支 if [ 条件判断式 ]; then 程序 fi 或者 if [ 条件判断式 ] then 程序 fi 例子: 双分支 if [ 条件判断式 ] then 程序 else 程序 fi ...
- Linux学习 -- Shell编程 -- 条件判断
按照文件类型进行判断 两种格式 test -e /root/install.log [ -e /root/install.log ] 注意空格 适合用于脚本中 echo $?可以看到结果 [ - ...
- Linux学习 -- Shell编程 -- 字符处理命令
sort排序命令 sort [选项] 文件名 -f 忽略大小m写 -n 按数值型,默认字符串型 -r 反向 -t 指定分隔符 -k n[,m] 指定字段范围,默认行尾 eg. sort -n -t & ...
- Linux学习 -- Shell编程 -- 字符截取命令
cut字段提取命令 cut [选项] 文件名 -f 列号: -d 分隔符: 局限性:空格为分隔符时不适用 printf命令 printf '输出类型输出格式' 输出内容 %s, %i, %f \a, ...
- Linux学习 -- Shell编程 -- 正则表达式
正则表达式与通配符 正则 -- 匹配字符串 -- 包含匹配 grep.awk.sed等 通配符 -- 匹配文件名 -- 完全匹配 ls.find.cp等 基础正则表达式
- Linux 下shell 编程学习脚手架
linux body { font-family: Helvetica, arial, sans-serif; font-size: 14px; line-height: 1.6; padding-t ...
随机推荐
- SpringMVC获取页面数据乱码的解决get/post
一.post请求方式的乱码 在web.xml中加入: <filter> <filter-name>CharacterEncodingFilter</filter-name ...
- 数据库-MYSQL安装配置和删除
* 课程回顾: * 完成注册和登陆的功能. * 准备的工作 * 技术.开源jar包 * 开发的功能使用MVC模式 * C:控制层(接收请求和从客户端发送过来的参数) * 接收参数(request对象) ...
- python注释方法以及编码问题
一.单行注释 在python中常使用"#"来进行单行注释,其快捷键为"ctrl+/",如果要对多行代码也就是代码块进行注释时,也可以选中多行按下 "c ...
- TC358749XBG:HDMI转MIPI CSI芯片简介
TC358749XBG是一颗HDMI转MIPI CSI功能的视频转换芯片,分辨率:1920*1080,电源3.3/1.8/1.2,通信方式:IIC,封装形式BGA80
- C++ Concept 和Java 接口
C++ Concept 和Java 接口 Concept及接口 我会用Java写个case来解释什么是C++的Concept.Concept可以理解为接口,它是一种广义的接口.不同于Java的Inte ...
- Tornado模板
--------------------静态文件-------------------- 1.static_path:通过向web.Application类的构造函数传递一个名为static_path ...
- vue系列之动态路由【原创】
开题 最近用vue来构建了一个小项目,由于项目是以iframe的形式嵌套在别的项目中的,所以对于登录的验证就比较的麻烦,索性后端大佬们基于现在的问题提出了解决的方案,在看到他们的解决方案之前,我先画了 ...
- 201521123107 《Java程序设计》第2周学习总结
第2周作业-Java基本语法与类库 1.本周学习总结 要点主要有: (1)String类 String类是本周的一个重点,String类的对象是不可变的,即String对象后就在内存中开辟了一个字符串 ...
- 【Alpha】Daily Scrum Meeting——Day3
站立式会议照片 1.本次会议为第三次 Meeting会议: 2.本次会议于早上9:40在陆大楼召开,本次会议为30分钟讨论昨天的任务完成情况以及接下来的任务安排. 每个人的工作分配 成 员 昨天已完成 ...
- 201521123092《java程序设计》第四周学习总结
1.本周学习总结 #1.尝试使用思维导图总结有关继承的知识点. #2.使用常规方法总结其他上课内容. 本周主要学习了继承的相关知识,用关键词extends来定义一个类,被继承的类叫做父类,继承的类叫做 ...