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 ...
随机推荐
- pycharm激活
刚刚下载了2017.1版本专业版的pycharm,作为一个天朝开发者,自然是去找注册码了.转悠了一圈,那些注册码都已经失效了.看到一个有效的方法:把http://elporfirio.com:1017 ...
- C# 单例模式(Singleton Pattern)
(新手写博客,主要是对自己学习的归纳总结.会对很多小细节详解.) 单例模式的定义: 确保一个类只有一个实例,并提供一个全局访问点. 首先实例大家应该都明白就是类生成对象的过程简单的就是String s ...
- Tomcat利用Redis存储Session
详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcyt269 如果英文不错的看,建议直接看官网吧,官网写的挺清楚.下面的内容是转载的 ...
- ROS学习记录(二)————使用smartcar进行仿真(用.xacro文件来运行rviz)
我发现一个学习ROS系统的好网站: 创客智造http://www.ncnynl.com/ 这里面关于ROS的各个方面都有很详细的介绍. 这周,不,上周我对整个ROS是绝望的,我用一个一个下午的时间在敲 ...
- Windows系统安装Azure CLI
本文将介绍在Windos系统下如下安装CLI 1.打开Azure官方链接:https://www.azure.cn/downloads/ 2.按照向导进行安装 3.打开Windows Powershe ...
- 如何写SysV服务管理脚本
本文目录: 1.1 SysV脚本的特性1.2 SysV脚本要具备的能力1.3 start函数分析1.4 stop函数分析1.5 reload函数分析1.6 status.restart.force-r ...
- nodejs本地服务器自动重启
在我们开发node 应用的时候,一但你的应用已经启动了,这个时候如果你修改了服务端的文件,那么要是这个修改起作用,你必须手动停止服务然后再重新启动,这在开发过程中无疑是很烦人的一件事,最好是有一个能够 ...
- 当今游戏大作share的特性大盘点
极品游戏制作时的考虑要素大盘点 不知不觉入坑Steam已近4年,虽然说Steam的毒性让很多人走向一条不归路,但是想我这样即使"中毒"还是很快乐很感恩的.那么本期文章就谈谈我对其中 ...
- HTML canvas 笑脸
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 201521123011 《java程序设计》 第7周学习总结
1. 本周学习总结 参考资料: XMind 2. 书面作业 1.ArrayList代码分析 1.1 解释ArrayList的contains源代码 1.2 解释E remove(int index)源 ...