当前位置: 首页 > news >正文

汉中城乡建设网站青岛专业网站制作

汉中城乡建设网站,青岛专业网站制作,泰安网页设计招聘,制作网页的软件免费文章目录1. 整数1.1、算数运算符1.1.1 加减乘除运算1.1.2 号关系运算1.1.2.1 (赋值)、(等于)、!(不等于)的使用1.1.2.2 >、>、<、<的使用1.2 $((运算式)) 双括号形式 、 $[运算式] 语法 进行运算1.3 -eq关系运算符1.4 、、-eq的区别2 字符串2.1 字符串运算3 逻辑运…

文章目录

  • 1. 整数
    • 1.1、算数运算符
      • 1.1.1 加减乘除运算
      • 1.1.2 =号关系运算
        • 1.1.2.1 =(赋值)、==(等于)、!=(不等于)的使用
        • 1.1.2.2 >、>=、<、<=的使用
    • 1.2 $((运算式)) 双括号形式 、 $[运算式] 语法 进行运算
    • 1.3 -eq关系运算符
    • 1.4 =、==、-eq的区别
  • 2 字符串
    • 2.1 字符串运算
  • 3 逻辑运算符
  • 参考

在shell中,和其他编程语言一样也有多种运算符,常用的运算符有:算数运算符、关系运算符、逻辑运算符、字符串运算符、文件测试运算符等。

但是由于存在整数和字符串,处理的语法稍有不同;因此我们划分整数和字符串类型

1. 整数

1.1、算数运算符

算数运算符就是我们最常见的,常用的主要有+(加)、-(减)、*(乘)、/(除)、%(取余)、=(赋值)、==(等于)、!=(不等于)。

下表列出了常用的算术运算符,假定变量 a 为 10,变量 b 为 20:

运算符说明举例
+加法`expr $a + $b` 结果为 30。
-减法`expr $a - $b` 结果为 -10。
*乘法`expr $a \* $b` 结果为  200。
/除法`expr $b / $a` 结果为 2。
%取余`expr $b % $a` 结果为 0。
=赋值a=$b 将把变量 b 的值赋给 a。
==相等。用于比较两个数字,相同则返回 true。[ $a == $b ] 返回 false。
!=不相等。用于比较两个数字,不相同则返回 true。[ $a != $b ] 返回 true。

注意:条件表达式要放在方括号之间,并且要有空格,例如: [$a==$b] 是错误的,必须写成 [ $a == $b ]。

1.1.1 加减乘除运算

shell是不支持简单的数学运算的,这时候我们就可以使用expr命令来实现shell中的简单运算,expr 是一款表达式计算工具,使用它能完成表达式的求值操作。expr的命令使用方法是:比如1+2要写成expr 1 + 2,expr和计算公式需要写在 ` ` 中(方括号,esc下面的那个按钮)并且数值和运算符之间要有空格 `expr 1+2`是不对的。

不带运算符,会当做普通字符串进行输出:

echo "1+2"   #先试下正常的运算方式能否得到结果
#打印结果  1+2

带了运算符,如果没有空格,会当做普通字符串进行输出

echo `expr 1+2`   #数值和运算符中间没有空格时
#打印结果  1+2

正例,注意乘法运算需要转义字符

echo `expr 1 + 2`   #加法
#打印结果  3
echo `expr 2 - 1`   #减法
#打印结果  1
echo `expr 2 \* 3`   #乘法必须要使用反斜杠才能实现
#打印结果  6
echo `expr 2 * 3`   #乘法没有反斜杠时
#打印结果  expr: 语法错误echo `expr 6 / 2`   #除法
#打印结果  3
echo `expr 6 % 4`   #取余
#打印结果  2

1.1.2 =号关系运算

什么是关系运算?就是比大小、判断是否相等,常用在 if 条件判断中

出去加减乘除,剩下的符号中,有的可以进行简单的关系运算, =(单等于)、==(等于)、!=(不等于) 、>、>=、<、<=

注意:if 条件表达式要放在方括号之间,并且要有空格,例如: [$a==$b] 是错误的,必须写成 [ $a == $b ]。

不建议使用 == 、> 、 >= 等符号进行数字比较,因为如果是字符串的话,也可以使用 ,并且表示不同的含义,这样如果数字类型变量误定义为字符串类型,不容易发现错误,建议使用 -eq 语法进行比较。

1.1.2.1 =(赋值)、==(等于)、!=(不等于)的使用

在 if 语法中,放在[] 中 ,示例:

#!/bin/bash
a=10
b=20if [ $a == $b ]
thenecho "a 等于 b"       # 不打印
fi
if [ $a != $b ]
thenecho "a 不等于 b"     #打印
fi

1.1.2.2 >、>=、<、<=的使用

< 小于(需要双括号),如:  if (("$a" < "$b"))<= 小于等于(需要双括号),如: if (("$a" <= "$b"))> 大于(需要双括号),如: if (("$a" > "$b"))>= 大于等于(需要双括号),如: if (("$a" >= "$b"))

在 if 语法中,放在 (( )) 中 ,要和 中括号区分开来,示例:

a=10
b=20if(("$a" < "$b"))
thenecho "a 小于 b"       # 不打印
fi

双括号结构中,变量名引用可以加 $,也可以不加;
运算符前后可以有空格,也可以没有
但是为了方便识别,建议加 $ 并且保留空格

1.2 $((运算式)) 双括号形式 、 $[运算式] 语法 进行运算

我们也可以直接使用 + - 进行简单的运算,但是需要借助 $((运算式)) 双括号形式 和“$[运算式] 语法 ,详情参见 【Linux】 shell 常用的数据类型(数字、字符串和数组)和运算中的 <1.1 计算>章节

1.3 -eq关系运算符

这里提到的关系运算符是特殊的,通过字母实现的,而不是前文的数学符号

下表列出了常用的关系运算符,假定变量 a 为 10,变量 b 为 20,注意使用中括号或双中括号语法:

运算符说明举例
-eq检测两个数是否相等,相等返回 true。[ $a -eq $b ] 返回 false。
-ne检测两个数是否不相等,不相等返回 true。[ $a -ne $b ] 返回 true。
-gt检测左边的数是否大于右边的,如果是,则返回 true。[ $a -gt $b ] 返回 false。
-lt检测左边的数是否小于右边的,如果是,则返回 true。[ $a -lt $b ] 返回 true。
-ge检测左边的数是否大于等于右边的,如果是,则返回 true。[ $a -ge $b ] 返回 false。
-le检测左边的数是否小于等于右边的,如果是,则返回 true。[ $a -le $b ] 返回 true。

示例:

#!/bin/basha=10
b=20if [ $a -eq $b ]
thenecho "$a -eq $b : a 等于 b"
elseecho "$a -eq $b: a 不等于 b"    # 打印
fiif [ $a -ne $b ]
thenecho "$a -ne $b: a 不等于 b"   # 打印
elseecho "$a -ne $b : a 等于 b"
fiif [ $a -gt $b ]
thenecho "$a -gt $b: a 大于 b"
elseecho "$a -gt $b: a 不大于 b"    # 打印
fiif [ $a -lt $b ]
thenecho "$a -lt $b: a 小于 b"      # 打印
elseecho "$a -lt $b: a 不小于 b"
fiif [ $a -ge $b ]
thenecho "$a -ge $b: a 大于或等于 b"
elseecho "$a -ge $b: a 小于 b"    # 打印
fiif [ $a -le $b ]
thenecho "$a -le $b: a 小于或等于 b"   # 打印
elseecho "$a -le $b: a 大于 b"
fi

关系运算符的应用范围只支持数字(确切的说是整数,小数暂不确定),不支持字符串,因此 建议数字 进行关系运算时采用这种方案,这样如果数字类型变量误定义为字符串类型,可以及时发现错误,例如:

#!/bin/bash
a=10
b=abcif [ $a -eq $b ]
thenecho "a 不等于 b"     
fi

由于b变量是字符串,执行时报类型不是整型错误:

[ubuntu]$ ./a.sh
./a.sh: line 14: [: abc: integer expression expected

1.4 =、==、-eq的区别

(1)单等号和双等号能用于字符string类型和整型integer的相等判断。
(2)相等关系运算符“-eq”仅能用于整型integer的相等比较。
(3)相等关系运算符“-eq”不能在算数运算表达式“(( ))”中
(4)在 if 条件表达式 “[ ]”中,单等号和双等号等价,都是相等算数运算符。
(5)在算数运算表达式“(( ))”中,单等号是赋值算数运算符,双等号为相等算数运算符。

总结:在进行相等判断时,最通用的方法是使用双等号“==”相等判断符,避免使用单引号引起歧义。而且数字比较和字符串比较都可以用 == 号,并且建议数字类型时使用 -eq 语法,这样可以检测非数字异常。

2 字符串

2.1 字符串运算

参见

3 逻辑运算符

参见 【Linux】shell中的逻辑运算符

参考

Shell 基本运算符
linux shell中的比较符号与特殊符号介绍

http://www.tj-hxxt.cn/news/35743.html

相关文章:

  • 南宁网站开发推广代写1000字多少钱
  • 史志部门建设网站 说明河南平价的seo整站优化定制
  • 免费seo网站的工具怎么投放网络广告
  • 重庆出名的网站建设公司运城seo
  • 香港公司能在大陆做网站备案嘛软文大全
  • 阿里 做网站郑州seo推广优化
  • unity 做网站百度订单售后电话
  • wordpress居中样式网站关键词优化软件效果
  • 做网站的问卷调查设计网站官网
  • 做政府网站品牌运营中心
  • 专门做网站开发的公司宁波seo推广平台
  • 怎么做赌博网站梅州网络推广
  • 顺义做网站的厂家百度网盘手机版
  • 云浮哪有公司做网站的seo推广公司
  • 中国空间站对接成功aso投放平台
  • 沧州网站设计公司网络营销推广与策划
  • jsp和.net做网站的区别成人职业技能培训学校
  • 无线网站制作深圳网络推广平台
  • 平湖新埭哪里有做网站的游戏推广员骗局
  • 旅游酒店网站建设背景分析站长工具seo综合查询分析
  • 我的世界服务器网站怎么做seo学习网站
  • wordpress首页调用最新文章太原seo快速排名
  • wordpress文章模板编辑器天津seo排名费用
  • 小学网站建设方案书百度指数移动版
  • 网站开发颜色代码域名检测工具
  • 网站开发主要有两个阶段百度获客平台怎么收费的
  • 专业网站建设优势小程序如何推广运营
  • 公司做网站需要注意些什么问题你就知道
  • 企业手机网站建设定制整站优化方案
  • 网站怎么做让PC和手机自动识别百度热搜榜排名今日头条