• 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

  • 相关阅读:
    再谈反射
    XmlElement和XmlNode的区别
    几个常用的集合类的使用
    node.js 练习3 调用函数
    ioc 的好文章 转自 GavinJun
    sqlserver 使用小技巧总结
    node.js 练习2 (调用函数)
    c# 面向对象基础
    linq 和 lmabda 表达式 的用法 和优劣 转自 农码一生
    memcache 基本操作
  • 原文地址:https://www.cnblogs.com/aflyun/p/7143280.html
Copyright © 2020-2023  润新知