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编程之运算符的更多相关文章

  1. Linux学习——shell编程之环境变量配置文件

    小白学习,在学习中总结! shell编程之环境变量配置文件 一:环境变量配置文件 1 shell编程之环境变量配置 变量类型: 用户自定义变量(本地变量) 环境变量 :定义每个用户的操作环境,如pat ...

  2. Linux学习——shell编程之变量

    shell编程之变量:Linux shell编程基础中的变量. 包括Bash变量的分类和各变量的详细使用,如:用户自定义变量.环境变量.语系变量.位置参数变量和预定义变量. 1:什么是Bash变量? ...

  3. Linux学习——shell编程之正则表达式和字符处理命令

    shell编程之正则表达式 一 正则表达式 1 什么是正则表达式 正则表达式用于描述字符排列和匹配模式的一种语法规则.它主要用于字符串的模式分隔.匹配.查找及替换操作. 2 shell编程之正则表达式 ...

  4. Linux学习 -- Shell编程 -- 流程控制

    if语句 单分支 if [ 条件判断式 ]; then 程序 fi 或者 if [ 条件判断式 ] then 程序 fi 例子: 双分支 if [ 条件判断式 ] then 程序 else 程序 fi ...

  5. Linux学习 -- Shell编程 -- 条件判断

    按照文件类型进行判断 两种格式 test -e /root/install.log [ -e /root/install.log ]   注意空格  适合用于脚本中 echo $?可以看到结果 [ - ...

  6. Linux学习 -- Shell编程 -- 字符处理命令

    sort排序命令 sort [选项] 文件名 -f 忽略大小m写 -n 按数值型,默认字符串型 -r 反向 -t 指定分隔符 -k n[,m] 指定字段范围,默认行尾 eg. sort -n -t & ...

  7. Linux学习 -- Shell编程 -- 字符截取命令

    cut字段提取命令 cut [选项] 文件名 -f 列号: -d 分隔符: 局限性:空格为分隔符时不适用 printf命令 printf '输出类型输出格式' 输出内容 %s, %i, %f \a, ...

  8. Linux学习 -- Shell编程 -- 正则表达式

    正则表达式与通配符 正则 -- 匹配字符串 -- 包含匹配     grep.awk.sed等 通配符 -- 匹配文件名 -- 完全匹配  ls.find.cp等 基础正则表达式

  9. Linux 下shell 编程学习脚手架

    linux body { font-family: Helvetica, arial, sans-serif; font-size: 14px; line-height: 1.6; padding-t ...

随机推荐

  1. 在Linux 环境下搭建 JDK 和 Tomcat

      在Linux 环境下搭建 JDK 和 Tomcat 参考地址:http://www.cnblogs.com/liulinghua90/p/4661424.html   [JDK安装] 1.首先下载 ...

  2. Electron 实战桌面计算器应用

    前言 Electron 是一个搭建跨平台桌面应用的框架,仅仅使用 JavaScript.HTML 以及 CSS,即可快速而容易地搭建一个原生应用.这对于想要涉及其他领域的开发者来说是一个非常大的福利. ...

  3. Java 随笔记录

    1. java对象转json Message msg = generateMessage();ObjectMapper mapper = new ObjectMapper();String json ...

  4. CSS3学习笔记-1:CSS样式继承

    自己在写css时总会遇上css样式继承的问题,好在一般问题不大,但一直也不明白css样式继承的规则,最近发现了一篇文章讲的不错,因此转载过来: 所谓CSS的继承是指被包在内部的标签将拥有外部标签的样式 ...

  5. Spring 事务管理笔记

    本文为 Spring 框架的事务管理学习笔记,官网文档地址为:Transaction Management,隔离级别及传播属性解释来自 org.springframework.transaction. ...

  6. 学习笔记GAN004:DCGAN main.py

    Scipy 高端科学计算:http://blog.chinaunix.net/uid-21633169-id-4437868.html import os #引用操作系统函数文件 import sci ...

  7. spring报错NoClassDefFoundError等与第三方jar包导入问题

    今天配置spring,遇到各种报错的问题,做一个小小总结. 1.刚开始我忘了引入commons-logging,报错.--解决方式:下载并引入该jar包 2.spring以及commons-loggi ...

  8. 提高SQL执行效率的16种方法

      项目中优化sql语句执行效率的方法:1)尽量选择较小的列2)将where中用的比较频繁的字段建立索引3)select子句中避免使用'*'4)避免在索引列上使用计算.not in 和<> ...

  9. 结对编程1-基于GUI的四则运算生成器

    201421123016郑怀勇     201421123017康建灿 程序代码 / 康建灿 一.需求分析 记录用户的对错总数. 程序退出再启动的时候,能把以前的对错数量保存并在此基础上增量计算. 有 ...

  10. 结对作业-基于GUI的四则运算

    一.需求分析 1.题目要求: 我们在个人作业1中,用各种语言实现了一个命令行的四则运算小程序.进一步,本次要求把这个程序做成GUI(可以是Windows PC 上的,也可以是Mac.Linux,web ...