首页 > 系统相关 >shell运算符

shell运算符

时间:2024-06-20 12:31:57浏览次数:15  
标签:shell 运算 算术 expr 整数 运算符 两数

熟练掌握以上运算符能够自如的应对linux日常shell脚本需求。

数值运算符

只能用在数字上,不能用在其它数据类型上

算数运算符

基本

就是常见的数学用到的计算:+、-、*、/、%
需要注意的是 默认情况下,shell不会直接进行算术运算,而是把"算术符号"当做"字符串"与两个变量的值连接在了一起,形成了一个新的字符串,不过有6种可以触发算术运算

(1) 使用let命令进行算术运算,只支持整数运算。
(2) 使用expr命令进行算术运算,只支持整数运算。
(3) 使用运算语法:$[算术表达式],只支持整数运算。
(4) 使用运算语法:$((算术表达式)),只支持整数运算。
(5) 在初始化变量时,将变量定义为"整数"类型,则可直接进行整数运算。
(6) 使用bc命令进行算术运算,支持整数和小数运算。
(7) 使用awk命令进行算数运算,支持整数和小数运算。

举个例子

# 示例:expr表达式
v1=`expr 2 + 2`
echo "两数之和:$v1"    # 两数之和:4
 
# 示例:$(())
v2=$((2 + 2))
echo "两数之和:$v2"  # 两数之和:4
 
# 示例:let 
let v3=1+2
echo "两数之和:$v3"  # 两数之和:3
 
 
#示例:expr表达式为乘,则需要转义
v4=`expr 2 \* 2`
echo "两数乘积:$v4"   # 两数乘积:4

比较

就是比较关系的:> 、>= 、 <、 <=、 ==、 !=

其中> 、>= 、 <、 <=只能在$(())中

echo $(( 2 <= 5 ) # 输出:1
echo [ 2 < 5 ] # 输出:-bash: 5: No such file or directory
# 上句报错原因:[ ] 将 < 当作输入符

==、!=可以使用 expr表达式、$(()) 、[ ]

参考:
https://blog.csdn.net/qq_35078688/article/details/128413832
https://blog.csdn.net/u013713832/article/details/133755040
https://blog.csdn.net/oqqHuTu12345678/article/details/129257269

标签:shell,运算,算术,expr,整数,运算符,两数
From: https://www.cnblogs.com/dingshaohua/p/18258421

相关文章

  • JAVAscript运算符
    目录一、运算符    1.运算符(operator)也被称操作符,最用于实现赋值、比较和算数运算等功能的符号。    2.javascript中常用的有二、算术运算符    1.算数运算符概述    2.浮点数的精度问题    3.表达式和返回值三、递增和递减......
  • shell - 变量及数学计算
    变量声明#注意:以num=1为例,等号两边不能有空格#数字num=1#字符串str0=teststr1='test'str2="test"#字符串的三种声明方式是有区别的:#1.单引号中的内容回原样输出,不会转义,不会取值。#2.双引号中的内容输出,会转义,会取值。#3.没有引号和双引号效果一样。......
  • shell - 逻辑运算
    记录一些与或非相关的逻辑运算数字比较-eq等于,如:if["$a"-eq"$b"]-ne不等于,如:if["$a"-ne"$b"]-gt大于,如:if["$a"-gt"$b"]-ge大于等于,如:if["$a"-ge"$b"]-lt小于,如:if["$a&quo......
  • shell - 流程控制语句
    if条件语句ifconditionthen #dosth.elifconditionthen #doanother.else #doothers.fi#有些人喜欢这样写,看起来更紧凑一些ifcondition;then #dosth.elifcondition;then #doanother.else #doothers.fi样例:a=10;b=20;#下面这一句,方括号是......
  • 通过 HIDS 告警分析 webshell 行为
    准备漏洞环境1. 下载 vulhub 仓库gitclonehttps://github.com/vulhub/vulhub.git2.  修改 tomcat 弱口令漏洞环境配置vivulhub/tomcat/tomcat8/tomcat-users.xml将配置文件中的 user 和 password 修改为非弱口令3.  启动漏洞环境(根据实际 docker 环境......
  • shell语言入门
    前言Shell是一个用C语言编写的程序,它是用户使用Linux的桥梁,是linux内置的一款软件。通过编写Shell的脚本,可以更好的使用linux系统(比如、安装卸载软件、增删改查文件等等),毕竟大部分linux、系统都没有界面,不像windows那样鼠标点点就完成了大部分需求。shell软件的种类有很多......
  • mumu模拟器 adb shell 登录后执行命令 Inappropriate ioctl for device
    前言全局说明mumu模拟器adbshell登录后执行命令Inappropriateioctlfordevice一、说明二、问题执行任何命令,都提示:Inappropriateioctlfordevice三、解决方法方法一:执行过sudo或su重新登录方法二:退出,执行adbroot后再执行adbshell登录四、......
  • 运维之shell脚本初识
     脚本工具可以帮助我们完成一些需要重复劳动的工作;基础语法:"#"为注释符号1:#指定脚本运行环境为/bin/bash #!/bin/bash2:输入参数,xxx为变量名,多个变量名用空格隔开readxxx   输出参数echoxxx3: 变量和运算符的定义:这是每个编程语言必不缺少的部分     ......
  • Shell编程之循环语句
    Shell编程之循环语句一、for循环语句for语句的结构for语句应用示例二、while循环语句while语句的结构while语句应用示例三、until循环语句until语句结构until语句应用示例注意:在Shell编程中,循环语句是一个非常重要的组成部分,它允许我们重复执行某段代码,直到满......
  • shell函数
    shell函数函数定义:将命令序列按照格式写在一起。格式指的是函数的固定格式。两种格式函数作用:方便重复使用。函数库,集中在一起,随时可以传参调用。大的工程分割成若干个小的功能模块,提高代码的可读性。函数的格式格式1functionshoping{​     命令序列......