【Shell编程】Shell中Bash变量-数值运算、运算符变量、测试和内容替换

2023-10-27

系列文章

【Shell编程】Shell基本概述与脚本执行方式

【Shell编程】Shell中Bash基本功能

【Shell编程】Shell中Bash变量-用户自定义变量

【Shell编程】Shell中Bash变量-位置参数变量

【Shell编程】Shell中Bash变量-环境变量

【Shell编程】Shell中Bash变量-预定义变量



declare声明变量类型

语法:declare [*/-][选项] 变量名

选项 说明
- 给变量设定类型属性
+ 取消变量的类型属性
-i 将变量声明为整数型
-x 将变量声明为环境变量
-p 显示指定变量的被声明的类型

数值运算

方法一-declare声明变量

在这里插入图片描述

方法二-expr或let数值运算工具

注意+号俩测必须有空格
在这里插入图片描述

方法三-“$((运算符))”或“$[运算式]”

单小括号括起来是系统命令
双小括号或者中括号括起来的是数值计算

在这里插入图片描述

运算符

数值越高优先级越高

优先级 运算符 说明
13 -,+ 单目负,单目正
12 !,~ 逻辑非,按位取反或补码
11 *,/,% 乘,除,取模
10 +,- 加,减
9 <<,>> 按位左移,按位右移
8 <=,>=<,> 小于或等于、大于或等于,小于,大于
7 ==,!= 等于,不等于
6 & 按位与
5 ^ 按位异或
4 | 按位或
3 && 逻辑与
2 || 逻辑或
1 =,+=,-=,*=,/=,%=,^=,|=,<<=,>>= 赋值,运算且赋值

测试和内容替换

变量置换方式 变量y没有设置 变量y为空值 变量y设置值
x=${y-新值} x=新值 x为空 x=$y
x=${y:-新值} x=新值 x=新值 x=$y
x=${y+新值} x为空 x=新值 x=新值
x=${y:+新值} x为空 x为空 x=新值
x=${y=新值} x=新值 y=新值 x为空 y值不变 x=$y y值不变
x=${y:=新值} x=新值 y=新值 x=新值 y=新值 x=$y y值不变
x=${y?新值} 新值输出到标准错误输出(就是屏幕) x为空 x=$y
x=${y:?新值} 新值输出到标准错误输出 新值输出到标准错误输出 x=$y
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【Shell编程】Shell中Bash变量-数值运算、运算符变量、测试和内容替换 的相关文章

随机推荐

  • 在阿里云服务器上部署Jekyll博客

    Step 0 首先买一台服务器 并且装好环境 我都是在阿里云上面买 而且我只是想挂一个个人网站 所以只需要最便宜的轻量应用服务器就好 半年只需要72块钱 我现在想来 之前也应该买香港的服务器 因为更加便宜 大陆的要60块一月 而且不需要给服
  • 初识ASO

    大概了解了一下ASO 在此记录一下 ASO 应用商店优化 的简称 ASO App Search Optimization 重点在于关键词搜索排名优化 覆盖热词 搜索下载激活 优化评论 关键词覆盖数量优化 就是指用户搜索更多关键词都能找到该款
  • VS Code(Visual Studio Code)环境下C++开发的配置方法

    一 Visual Studio Code的下载 去官网下载 下载地址 https code visualstudio com Download 我在windows系统下使用 直接点击Windows那个图标下载就好 安装时可以自己选择一下安装
  • layui源码详细分析之树形菜单

    前言 今天分析的是layui框架内置模块tree js 该模块的功能是构建树形菜单 具体的形式 layui官网该模块的具体形式 如下 自实现树形菜单 使用html css js实现了树形菜单 具体的实现思路如下 html中定义包含树形菜单的
  • C++选择结构学案

    学习目标 熟练掌握 C 中的关系 逻辑运算符 熟知关系 逻辑运算符和数学运算符的优先级 学会正确使用选择表达式 知识着陆 1 关系运算符 使用关系运算符需要注意的问题 1 等于 与 赋值 的区别 2 实型数据 浮点数 的关系运算 3 运算符
  • 锚点的作用及用法

    锚点的作用及用法 HTML中的a标签大家都非常熟悉 它是超链接标签 通过a标签能够跳转到href中指定的页面及指定的位置 a标签可以做到单页面跳转或多页面跳转 锚点能够跳转到当前页面中指定的位置 也能够跳转到指定的其他页面或其他页面中指定的
  • anaconda怎么运行python程序_PyCharm运行Python程序

    介绍如何使用 PyCharm 创建 Python 项目 以及如何编写并运行 Python 程序 PyCharm创建Python项目 PyCharm 中 往往是通过项目来管理 Python 源代码文件的 虽然对于第一个 Python 程序来说
  • java中的String类型的对象为什么可以自动转换成Object类型的?而Object却要强制转换成String类型的

    java中的String类型的对象为什么可以自动转换成Object类型的 而Object却要强制转换成String类型的 5 比如 String a hello Object b a 这样可以直接用 而 Object a hello Str
  • vue鼠标点击指定区域创建dom元素与编辑删除元素的思路

    vue鼠标点击指定区域创建dom元素与编辑删除元素的思路 话不多说有思路直接干 一 鼠标点击页面灰色背景创建红色元素 二 点击已经创建的红色元素则是编辑或者删除 根据点击元素的类名来判断是属于创建元素还是编辑或者删除元素 e target
  • 多个checkpoint 的参数进行平均

    source model 路径下 存在 以下几个checkpoint model checkpoint path model ckpt 457157707 all model checkpoint paths model ckpt 4560
  • 动手学深度学习d2l.Animator无法在PyCharm中显示动态图片的解决方案

    from d2l import torch as d2l 一 问题描述 运行d2l的训练函数 仅在控制台输出以下内容 无法显示动态图片 训练监控
  • notepad++ 正则表达式

    转载自 https www cnblogs com winstonet p 10635043 html 注意 Notepad 正则表达式字符串最长不能超过69个字符 转义字符 如 要使用 本身 则应该使用 t Tab制表符 注 扩展和正则表
  • 5. C++知识点之else分支

    上篇文章我们说了if语句 这篇文章我们再来说说if语句的后半部分 else if但分支选择结构在条件为真时采取操作 条件为假时则忽略这个操作 利用if else双分支选择结构则可以在条件为真时和条件和假时采取不同操作 格式 格式1 if 条
  • 论文阅读之Arcface

    Arcface论文阅读 文章目录 Arcface论文阅读 人脸识别流程 数据 VGG2 MS Celeb 1M MegaFace LFW CPF AgeDB 损失层 Softmax Loss Center Loss A Softmax Lo
  • 调试三角形

    图形sdk 一般是从三角形开始的 先运行下 还好 能过 要不白费劲了 是一个旋转的三角形 看看代码 先折叠下 猜测大概有啥东西 如果我写 该怎么写 顶点数组 索引数组 应用 创建 清理 动画 运行 配置 顶点数组和索引是传到三角形的 创建和
  • 版本更新

    MyEclipse是开源工具Eclispse的进一步扩展 是目前最实惠 功能最全面的J2EE IDE与Web开发工具套件 MyEclipse可用于用户所有的UML AJAX Web Web Services J2EE JSP XML Str
  • jvm调优一、linux内存查看命令

    1 整体情况查看 任务管理器 top 第三行就是CPU的使用情况了 如下 Cpu s us用户空间占用CPU百分比sy内核空间占用CPU百分比ni用户进程空间内改变过优先级的进程占用CPU百分比id空闲CPU百分比wa等待输入输出的CPU时
  • 多线程(三)

    Java 208 道面试题 多线程 35 并行和并发有什么区别 并行是指两个或者多个事件在同一时刻发生 而并发是指两个或多个事件在同一时间间隔发生 并行是在不同实体上的多个事件 并发是在同一实体上的多个事件 在一台处理器上 同时 处理多个任
  • valgrind:内存泄漏的检查工具

    valgrind 是帮助程序员寻找程序里的 bug 和改进程序性能的工具集 擅长发现内存的管理问题 里面有若干工具 其中最重要的是 memcheck 工具 用于检查内存的泄漏 memcheck 能发现如下的问题 使用未初始化的内存 使用已经
  • 【Shell编程】Shell中Bash变量-数值运算、运算符变量、测试和内容替换

    系列文章 Shell编程 Shell基本概述与脚本执行方式 Shell编程 Shell中Bash基本功能 Shell编程 Shell中Bash变量 用户自定义变量 Shell编程 Shell中Bash变量 位置参数变量 Shell编程 Sh