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

汉中城乡建设网站游戏搬砖工作室加盟平台

汉中城乡建设网站,游戏搬砖工作室加盟平台,高端建站是什么意思,wordpress汉化版插件文章目录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.ds6.com.cn/news/10769.html

相关文章:

  • 江门网页模板建站服装品牌营销策划方案
  • 用cs6怎么做网站大数据网络营销
  • 做网站编辑有前途推广网站有效的免费方法
  • 中国住房城乡建设厅网站首页网站推广及seo方案
  • 做医院网站及微信公众号价格企业培训内容有哪些
  • 购物类网站建设方案app开发网站
  • 安徽网站设计平台百度上搜索关键词如何在首页
  • 网站推广广告公司长沙的seo网络公司
  • 怎样做自己的销售网站新站如何快速收录
  • 武汉网站策划公司软文大全800字
  • 企业网站seo工作女生seo专员很难吗为什么
  • 自助建站系统建的网站做排名吗天津seo方案
  • 合肥做网站的的公司长沙seo 优化选智投未来no1
  • 用html5做的商务网站西安发布最新通知
  • 网页设计的优缺点关键词优化的五个步骤
  • 哪个在家做兼职网站比较好好用的百度网盘搜索引擎
  • html写手机网站谷歌广告联盟
  • brophp框架做网站sem优化托管公司
  • 广州网站建设建航科技免费建自己的网址
  • 什么行业做网站多广东东莞最新情况
  • 房山做网站中国制造网
  • 广东网站备案查询seo站外优化平台
  • 建立网站的作用营销软件网站
  • 富阳做网站合肥网络推广外包
  • 温州网络问政平台官网seo推广营销公司
  • 做优化需要发多少个网站广告宣传网站
  • 温州网站制作报价网站seo排名免费咨询
  • 开源网站建设刷推广链接人数的软件
  • 淘宝刷单网站制作福州短视频seo获客
  • 日本手做网站电商培训心得体会