首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

shell 中的算术比较

在 Shell 脚本中,算术比较通常使用 test 命令或 [[ 命令进行。

使用 test 命令进行比较时,可以直接在命令后面跟要比较的算术表达式。例如:

代码语言:shell
复制
$ test 5 -eq 1
$ test 10 -lt 5

使用 [[ 命令进行比较时,需要将表达式用 () 括起来,例如:

代码语言:shell
复制
$ [[ 5 -eq 1 ]]
$ [[ 10 -lt 5 ]]

如果表达式成立,则继续执行下面的语句,否则返回 1

在 Shell 脚本中,算术比较还可以使用 [[ 命令和 && 命令、|| 命令组合进行更复杂的比较。例如:

代码语言:shell
复制
$ [[ 5 -eq 1 && 3 -lt 2 ]]
$ [[ 5 -eq 1 || 3 -lt 2 ]]

此外,还可以使用 test 命令和 [] 运算符进行比较。例如:

代码语言:shell
复制
$ test 5 -eq 1
$ [ 5 -eq 1 ]

总之,Shell 脚本中的算术比较灵活多样,可以根据实际需要选择相应的语法进行比较。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

shell字符串比较和模糊比较说明

shell字符串比较说明 1 完全比较方法(完全匹配) if [ "$soure" == "$dest" ]; then     echo "is ==" else     echo "is !...=" fi if语句中==判断字符串是否相等:     1、使用完全匹配方式;     2、两边双引号都是可有可无,但当字符串为空时候就会报错,提示unary operator expected...2 模糊比较方法(正则表达式) if [[ "$soure" == dest* ]]; then     echo "is ==" else     echo "is !...=" fi 当if语句中括号[]变成双括号[[]]时,支持模糊匹配,此时:     1、模糊匹配规则不能添加双引号,否则无效,会被当做普通字符串进行比较。     ...2、被比较字符串,可以加双引号,也可以不加,当字符串为空也不会报错,但是为了统一规范,防止遗漏,因此,推荐还是加入双引号。

13.2K10

Bash shell四种算术运算方式区别与联系简介

欢迎转载,转载请注明出处,谢谢 在bash shell,整数运算也会偶尔遇到。为了彻底弄清其中奥秘,我们通过实例验证方式来探索一下常见四种运算区别与联系。...+d)) 13 [root@GeekDevOps ~]# echo $((a+c)) 8 [root@GeekDevOps ~]# echo $((a+e)) -bash: 7.2: 语法错误: 无效算术运算符...# let x=a+d [root@GeekDevOps ~]# echo $x 13 [root@GeekDevOps ~]# let x=a+e -bash: let: 7.2: 语法错误: 无效算术运算符...(错误符号是 ".2") [root@GeekDevOps ~]# let x=c+d [root@GeekDevOps ~]# echo $x 3 从以上例子,我们可以看到,使用let命令来进行算术运算与小括号及括号无较大差异...五、总结 以上例子为了节约篇幅,仅仅以加法运算来进行实验。在bash shell还支持减法(-)、乘法(*)、除法(/)、求余(%)等运算,其运算规则及方式大同小异,不一一介绍。

91220

实验(八)Shell 算术运算、选择结构

创建Shell脚本文件 touch compute.sh 3. 编辑Shell脚本 vi compute.sh 输入以下代码: #!...Shell编程,条件测试结果为true,则返回退出状态为0,否则结果为false,并返回非0退出状态。 所以,编写Shell时,不能以C编程0表示false,非0表示true方式来理解。 !..." fi 条件测试,整数比较有专用写法,例如-eq表示运算符前后两个整数值相等,-ne表示运算符前后两个整数值不相等,而常用=,!...=运算符专用于比较字符串。 -a 是逻辑运算符逻辑与运算,类似的,-o 表示逻辑或。...逻辑运算优先级会低于比较运算,但可以用圆括号改变优先级顺序,需要注意是,在Shell,圆括号需要用反斜杠转义后使用。

55000

Shell如何删除文本比较实现方法

Shell如何删除文本比较实现方法 有的时候需要对文件执行删除删除操作,这个时候比较常用会使用vi命令dd命令,比如先执行10G(跳转到第10行),然后再执行20dd(删除20行),但实际情况未必是这么常规...,比如说,要删除文件,某行长度超过200个字符行,如果文本比较小,还好,如果是几万行,几十万行呢?...我然想到办法就是:比如说,通过sed,awk,egrep命令来达到目的。 举个简单例子。 假如说如下文本文件,要将其中长度为5字符以上给删除掉。...使用awk,grep命令时候,可以将处理好文件重定向到另外一个新文件 2. egrep -w参数,表示仅跟模式匹配单词 3. ^....表示所有模式不匹配,w是输出,写入到新文件NewFile文件 如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站支持!

4.4K20

Shell 脚本条件测试与比较

Shell脚本条件测试 语法 说明 test 利用test命令进行条件测试 [] 通过[]进行条件测试 [[]] 通过[[]]进行条件测试 (()) 通过(())进行条件测试 test语法 test...f1 -ot f2 文件f1比文件f2旧则为真,即表达式成立,根据文件修改时间来计算 字符串测试表达式 字符串测试符 说明 -n "字符串" 若字符串不为“0”,则为真,即表达式成立 -z "字符串...= "串2" 若字符串1不等于字符串2,则为真,即表达式成立 整数二次元比较符 在[]以及test中使用比较符 在(())和[[]]中使用比较符 说明 -eq ==或者= 相等 -ne !...在[[]]和(())中使用操作符 说明 -a && and,与,两端为真,则结果为真 -o 双竖线 or,或,两端一个为真,则结果为真 !...= "2" ] && { echo error exit 1 } 比较两个整数大小 root@cs:/server/scripts# cat int.sh #!

57020

Shell 数学计算:轻松掌握算术运算基本功

在日常 Shell 脚本编写,我们经常会遇到需要进行数学计算场景。...不过,别担心,通过本文,你将学会如何在 Shell 灵活进行各种数学计算。...准备好开始你 Shell 数学之旅了吗?Shell 算术运算符在深入示例之前,让我们先快速了解一下 Shell 支持一些基本算术运算符及其含义。...=, +=, -=, *=, /=, %=赋值运算符 Shell 数学计算方式shell 中常用六种数学计算方式:运算操作符/运算命令说明(( ))用于整数运算...比较麻烦,需要注意各种细节,不推荐使用。bcLinux下一个计算器程序,可以处理整数和小数。Shell 本身只支持整数运算,想计算小数就得使用 bc 这个外部计算器。

7510

python算术运算符

参考链接: Python除法运算符 算数运算符是 运算符一种,一般用来处理四则运算。 ...(商) 9 // 2 输出结果 4 %     取余数     返回除法余数 9 % 2 = 1 **    幂         又称次方、乘方,2 ** 3 = 8  另外:  在 Python ...* 运算符还可以用于字符串,计算结果就是字符串重复指定次数结果  print("+"*20) console:+++++++++++++++++++  和数学运算符优先级一致,在 Python...中进行数学计算时,同样也是:  先乘除后加减  同级运算符是 从左至右 计算  可以使用 () 调整计算优先级  以下表示算术优先级由高到最低顺序排列:  第一:    **    第二:    *...ok ,Python算术运算符到这里就木有了,^_^o !

77440

shell文件比较运算符

= "one two three" ] 3.算术比较运算符 num1 -eq num2 等于 [ 3 -eq $mynum ] num1 -ne num2 不等于 [ 3 -ne $mynum ] num1...-b文件名 如果文件存在且为块特殊文件则为真 7.替换运算符 Bash Shell可以进行变量条件替换,既只有某种条件发生时才进行替换,替换条件放在{}....message} 若变量已赋值的话,正常替换.否则将消息message送到标准错误输出(若此替换出现在Shell程序,那么该程序将终止运行) (4) ${value:+word}...与pattern相匹配部分,条件是value开头与pattern相匹配 #与##区别在于一个是最短匹配模式,一个是最长匹配模式...string内容,/与//区别与上同   注意: 上述条件变量替换,除(2)外,其余均不影响变量本身

1.2K30

MySQL算术比较逻辑位运算符与正则全解

算术运算符 加法与减法运算符 乘法与除法运算符 求模(求余)运算符 2....算术运算符 算术运算符主要用于数学运算,其可以连接运算符前后两个数值或表达式,对数值或表达式进行加(+)、减(-)、乘(*)、除(/)和取模(%)运算。...比较运算符 比较运算符用来对表达式左边操作数和右边操作数进行比较比较结果为真则返回1,比较结果为假则返回0,其他情况则返回NULL。...在使用等号运算符时,遵循如下规则: 如果等号两边值、字符串或表达式都为字符串,则MySQL会按照字符串进行比较,其比较是每个字符串字符ANSI编码是否相等。...当参数是整数或者浮点数时,GREATEST将返回其中最大值; 当参数为字符串时,返回字母表顺序最靠后字符; 当比较值列表中有NULL时,不能判断大小,返回值为NULL。

3.7K30

Python算术运算符

通常C/C++,"/ " 算术运算符计算结果是根据参与运算两边数据决定,比如:   6 / 3 = 2 ; 6,3都是整数,那么结果也就是整数2;   6.0 / 3.0 = 2.0 ; 6.0,3.0...是浮点数,那么结果也是浮点数2.0,跟精确说,只要" / " 两边有一个数是浮点数,那么结果就是浮点数。   ...在Python2.2版本以前也是这么规定,但是,Python设计者认为这么做不符合Python简单明了特性,于是乎就在 Python2.2以及以后版本增加了一个算术运算符" // "来表示整数除法...,返回不大于结果一个最大整数,而" / " 则单纯表示浮点数除法,但是,为了折中,所有2.X版本,也是为了向后兼容,如果要使用" // ",就必须加上一条语句:   from __future

1.1K10

python变量概念及算术运算

(变量:程序运行可以发生变化量)接下来我们用复利计算来说明一下python这一个特性: price  = 1000; #金额初始为1000 rate = 0.05  #利率为每期0.05 years...initial +=1 结果应该是 1 1050.00 2 1102.50 3 1157.62 4 1215.50 5 1276.28 我们和PHP语言进行一下对比(因为PHP也是一种动态类型语言): 在PHP如何进行复利运算呢...比如"%3d,%0.2f" %3d 意思是将一个整数格式化为宽度3 列右对齐而%0.2f代表格式化浮点型保留2位小数  格式样式图 如下 %% 百分号标记 %c 字符及其ASCII码 %s 字符串...%e或%f) %G 浮点数字(类似于%g) %p 指针(用十六进制打印值内存地址) %n 存储输出字符数量放进参数列表下一个变量 (Ps:这个可以不用记 只需要记住 %3d和%0.2f就行) 我们还可以使用字符串格式化方法...python变量在程序运行 值和类型都会发生改变 如初始金额1000 经过复利运算变为了浮点型数值 算术表达式: +、-、*、/运算  print可以格式化展示输出样式 使得输出更美观

75310

shell动态脚本和plsql动态脚本比较

最近项目有一个需求,需要在多个数据库schema上跑一些脚本。希望dba能够提供一个脚本,能够根据需求在环境执行指定脚本。 乍一听,没什么技术难点,为了更明白说明问题,我举个例子。...目前情况只能够得到db schema列表,对于里面是否还有5个表,还没有细粒度管理。 脚本需要从db schema列表筛选出符合 db schema,然后执行脚本内容。...@script/script3.ps dbms_output.put_line('app POST SCRIPTS RUNNING...'); end if; end; / pl/sql执行情况: shell...shell脚本1内容如下: echo `sqlplus -s user1/user1@DB1 <<EOS set feedback off pages 0 select (case when (select...EOS ############## shell 脚本实现动态shell ################################

1.3K60

Shell脚本条件测试与比较

] && echo true || echo false true [root@linux /]# [ -z /www/ ] && echo true || echo false false 整数值比较...整数值比较指的是根据给定两个整数值,判断第一个数与第二个数关系,比如等于、大于、小于等。...常用选项有: -eq:等于 -ne:不等于 -gt:大于 -lt:小于 -le:小于或等于 -ge:大于或等于 整数值比较Shell编写应用较多。例如,用来判断已登录用户数量、开启进程数等。...|echo 关闭 开启 [root@linux /]# pkill nginx [root@linux /]# [ $www -eq 1 ] && echo 开启||echo 关闭 关闭 字符串比较...字符串比较通常用力啊检查用户输入、系统环境等是否满足条件,在提供交互式操作脚本,也可以用来判断用户输入位置参数是否符合要求,参数有: = 等于 !

70910

Linux 之 shell 比较运算符

= "one two three" ]算术比较运算符num1 -eq num2等于[ 3 -eq $mynum ]num1 -ne num2不等于[ 3 -ne $mynum ]num1 -lt num2...-b文件名 如果文件存在且为块特殊文件则为真 条件变量替换:     Bash Shell可以进行变量条件替换,既只有某种条件发生时才进行替换,替换  条件放在{}....message}         若变量已赋值的话,正常替换.否则将消息message送到标准错误输出(若此替换出现在Shell程序,那么该程序将终止运行)  (4) ${value:+word} ...string内容,/与//区别与上同  注意: 上述条件变量替换,除(2)外,其余均不影响变量本身值 #!....]' > res 推荐参考: Linux Shell函数返回值 Linux 之 shell 比较运算符(推荐) Linux Shell学习简单小结(推荐) SHELL学习笔记----IF条件判断

1.6K10
领券