Linux学习——shell编程之运算符「建议收藏」

shell编程之运算符一:shell中常见算术运算符号和优先级二:算术运算符 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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/121152.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • tinyint 范围「建议收藏」

    tinyint 范围「建议收藏」最进做项目要记日志日志表同事建的关联任务id用的tinyint一开始测试没问题后来日志记录里数据全是127纳闷看了127的也没人使用然后才看到“`lang=sqlTINYINT型的字段如果不设置UNSIGNED类型,存储-128到127的整数。“`改了就好了抠鼻.jpg…

  • acwing-167. 木棒(深搜dfs+减枝)「建议收藏」

    acwing-167. 木棒(深搜dfs+减枝)「建议收藏」乔治拿来一组等长的木棒,将它们随机地砍断,使得每一节木棍的长度都不超过 50 个长度单位。然后他又想把这些木棍恢复到为裁截前的状态,但忘记了初始时有多少木棒以及木棒的初始长度。请你设计一个程序,帮助乔治计算木棒的可能最小长度。每一节木棍的长度都用大于零的整数表示。输入格式输入包含多组数据,每组数据包括两行。第一行是一个不超过 64 的整数,表示砍断之后共有多少节木棍。第二行是截断以后,所得到的各节木棍的长度。在最后一组数据之后,是一个零。输出格式为每组数据,分别输出原始木棒的可能最小长度

  • Allure 安装及使用[通俗易懂]

    Allure 安装及使用[通俗易懂]linux下安装方法Allurerequires Java8 orhighernpminstall-gallure-commandline–save-dev  (如果npm不能使用需要单独安装)增加软连接windows下安装Allure工具环境1、安装JDK1.8+2、安装Allure下载Allure的zip安装包,戳这里解压到allure-commandline目录进入bi…

  • Java8 基本类型数组转换为List[通俗易懂]

    Java8 基本类型数组转换为List[通俗易懂]Java8种基本类型(byte/short/int/long/float/double/char/boolean)的数组(byte[]/short[]/int[]/long[]/float[]/double[]/char[]/boolean[])不能直接通过Arrays.asList方法转换为List,因为List的元素必须是包装类。在Java8之前,想要实现这种转换只能通过循环,Java8提供…

  • 关于雅虎优化

    关于雅虎优化尽可能的减少HTTP的请求数[content]合并背景图、缓存等使用CDN(ContentDeliveryNetwork)[server]也是缓存,加速,要考虑CDN失效、CDN缓

  • tomcat是否有必要配置环境变量[通俗易懂]

    tomcat是否有必要配置环境变量[通俗易懂]答案:否好多环境都需要配置环境变量,有时候都搞不清楚哪些需要哪些不需要,今天特地查了一下tomcat是否需要配置环境变量。又涨知识了,原来可以配置也可以不配置。既然能不配置,本着懒懒的毛病,当然是不配置了哈哈…但这里还是说明一下为啥不需要配置吧!1、Tomcat解压完成后,直接在bin目录下运行startup.bat,是可以启动Tomcat的!2、但是如果不是在bin目录下运行star…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号