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 ...
随机推荐
- jquery的2.0.3版本源码系列(5):349-817行,extend添加的工具方法
expando 生成唯一JQ字符串(内部)noconflict避免冲突isReady DOM是否加载完成(DOMContentLoaded)readyReady
- Thinkjs学习2—数据库的配置
以github登录认证为例,说明如何通过mvc三部分的配合,实现这个功能. 要实现的功能:首页判断用户是否登录,如果没有登录,显示登录界面,用户点击按钮进入github登录验证,并保存用户的信息,登录 ...
- JDK+Apache+Tomcat+MySQL配置 一起来学习吧
配置JDK1.8+Apache2.4+Tomcat8.0+mySQL5.1,网上的资料非常繁杂,花费几天时间配置成功,汇总记录. 操作系统:CentOS6.5 预先下载最新版软件: apache-to ...
- Appium环境搭建(python)
appium是一个开源的,适用于原生或者移动网络和混合应用程序在 iOS 和 Android 平台上的的开源自动化测试框架.在这里,详细的介绍Appium的环境搭建步骤. 1.安装Node.js在ht ...
- html+css手记
----------------------html定义和基本结构---------------------- HTML是 HyperText Mark-up Language 的首字母简写,意思是超 ...
- EF实例创建问题
场景:CodeFirst 情况下,在控制器新建一个EF数据库对象,以便运行时进行表的初始化创建 Private DemoContext db=new DemoContext (): 问题:什么时候释放 ...
- 团队作业6——展示博客(Alpha)
一.团队简介 李永豪(PM):项目经理,后台开发人员,协调团队内部的工作及开发团队之间的工作 杨海亮:后台开发人员,测试人员,熟悉java语言,编写java代码 郑靖涛:后台开发人员,测试人员,安卓程 ...
- Beta版本冲刺计划安排
1.介绍小组新加入的成员,Ta担任的角色 王婧:web界面以及前端和后台的交互 柯怡芳:PM以及文档 陈艺菡:修复bug以及文档 钱惠:web界面以及前端和后台的交互 林凯:测试人员 吴伟君(新成员) ...
- 团队作业八——第二次团队冲刺(Beta版本)第7天&项目汇总
项目汇总 第一天:http://www.cnblogs.com/newteam6/p/6879383.html 第二天:http://www.cnblogs.com/newteam6/p/688078 ...
- [2017BUAA软工助教]收集个人信息
如题 我们要收集三个东西 1.学号 2.Github地址 ① 3.博客园博客地址 ② 请各位同学自行创建,并按照如下的格式评论在这篇博客下 "14061195+https://github. ...