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. Canvas 宽度、高度设置

    在HTML5中插入一个Canvas元素,如下: <canvas id="mycanvas"></canvas> 要想在该画板上进行操作,则需要先取得其执行上 ...

  2. Python+Requests接口测试教程(2):

    开讲前,告诉大家requests有他自己的官方文档:http://cn.python-requests.org/zh_CN/latest/ 2.1 发get请求 前言requests模块,也就是老污龟 ...

  3. wireshark 随笔

    在进行通信开发的过程中,我们往往会把本机既作为客户端又作为服务器端来调试代码,使得本机自己和自己通信.但是wireshark此时是无法抓取到数据包的,需要通过简单的设置才可以. 具体方法如下: ①:以 ...

  4. 汇编指令-CMP、TEQ(5)

     cmp:(compare)指令进行比较两个操作数的大小  格式: cmp oprd1,oprd2 比较oprd1和oprd2操作数,然后通过助记符来实现想要的判断. teq: (test equal ...

  5. poj 3694双联通缩点+LCA

    题意:给你一个无向连通图,每次加一条边后,问图中桥的数目. 思路:先将图进行双联通缩点,则缩点后图的边就是桥,然后dfs记录节点深度,给出(u,v)使其节点深度先降到同一等级,然后同时降等级直到汇合到 ...

  6. 王者荣耀是怎样炼成的(一)《王者荣耀》用什么开发,游戏入门,unity3D介绍

    在国内,如果你没有听说过<王者荣耀>,那你一定是古董级的人物了. <王者荣耀>(以下简称“农药”),专注于移动端(Android.IOS)的MOBA游戏.笔者看到这么火爆,就萌 ...

  7. CCIE-MPLS VPN-实验手册(中卷)

    5:MPLS VPN PE CE OSPF 实验1 5.1 实验拓扑 5.2 实验需求 a. R1 R2 R3 组成P-NETWORK,底层协议采用EIGRP b. R1 R2 R3 直连链路启用LD ...

  8. 【1414软工助教】团队作业10——复审与事后分析(Beta版本) 得分榜

    题目 团队作业10--复审与事后分析(Beta版本) 往期成绩 个人作业1:四则运算控制台 结对项目1:GUI 个人作业2:案例分析 结对项目2:单元测试 团队作业1:团队展示 团队作业2:需求分析& ...

  9. 团队作业八——第二次团队冲刺(Beta版本)第7天&项目汇总

    项目汇总 第一天:http://www.cnblogs.com/newteam6/p/6879383.html 第二天:http://www.cnblogs.com/newteam6/p/688078 ...

  10. 201521123079《java程序设计》第11周学习总结

    1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多线程相关内容. 2. 书面作业 本次PTA作业题集多线程 1.互斥访问与同步访问 完成题集4-4(互斥访问)与4-5(同步访问) ...