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

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

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

(0)
上一篇 2022年2月26日 下午3:00
下一篇 2022年2月26日 下午4:00


相关推荐

  • 0-1多重背包(单调队列+多重背包)[通俗易懂]

    0-1多重背包(单调队列+多重背包)[通俗易懂]原题链接有 N 种物品和一个容量是 V 的背包。第 i 种物品最多有 si 件,每件体积是 vi,价值是 wi。求解将哪些物品装入背包,可使物品体积总和不超过背包容量,且价值总和最大。输出最大价值。输入格式第一行两个整数,N,V (0<N≤1000, 0<V≤20000),用空格隔开,分别表示物品种数和背包容积。接下来有 N 行,每行三个整数 vi,wi,si,用空格隔开,分别表示第 i 种物品的体积、价值和数量。输出格式输出一个整数,表示最大价值。数据范围0<N≤1

    2022年8月8日
    8
  • 2021ArchLinux安装图文教程「建议收藏」

    2021ArchLinux安装图文教程「建议收藏」主要为以下步骤:1.下载ArchLinux安装镜像并制作U盘启动工具2.开机从U盘启动3.进行联网4.编辑镜像站文件(选择一个比较快的中国镜像源)5.开始分区(UEFI+GPT)6.格式化分区,并挂载7.开始安装基本操作系统8.配置基础系统9.引导系统10.用户管理11.网络配置12.安装桌面环境13.安装完后的工作开始:1.下…

    2022年4月25日
    147
  • Struts2中属性驱动与模型驱动

    Struts2中属性驱动与模型驱动

    2021年11月16日
    41
  • 大数据智能运维平台方案-1

    大数据智能运维平台方案-11 1 功能详细介绍 1 1 1 登录界面用户首先需要获取 license 激活产品后才能正常使用 提示如下 点击激活 会自动生成机器码 请联系厂商获取激活码激活后 会提示到期日 产品可以正常进行登录了 1 1 2 首页首页是向导页 以路线图的方式引导你进行集群配置和集群监控 1 2 配置管理 1 2 1 全局配置用于配置全局参数和服务 包括数据保留配置 告警服务 告警配置和数据库配置等修改全局参数 1 2 2 数据库配置用于配置关系型数据库 支持 Mysql 和 PostgreSQL 等

    2026年3月16日
    2
  • 运维架构层级

    运维架构层级运维架构层级/运维角度内容描述/主要技术关键词监控体系自动化/DevOps云计算客户端层浏览器Cookie、浏览器缓存协商(Last-Modified、Expires、Etag)、组件分离、前端优化、运维检测工具舆论监控外部网络监控APM故障检测工具DNS服务CDN服务移动服务云

    2022年7月17日
    20
  • 关于时序数据库[通俗易懂]

    关于时序数据库[通俗易懂]https://blog.csdn.net/ransom0512/article/details/78114167看了一些时序数据库,没有太深入,有一些大概认识,记录下来。 1.  核心数据存储分为行存储或者列存储,由于列存储的高压缩比,现在使用列存储的比较多一些。当前有很多时序数据库采用了在底层KV存储(Cadssandra,HBase,LevelDB,RocksDB)基础…

    2022年10月5日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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