Shell 和其他编程语言一样,支持多种运算符,包括:

算术运算符

关系运算符

字符串运算符

文件测试运算符

原生bash不支持简单的数学运算,但是可以通过其他命令来实现,例如 awk 和 expr expr 最常见

expr 是一款表达式计算工具,使用它能完成表达式的求职操作。

例如,两个数相加(注意使用的是反引号` 而不是单引号 ‘)

#!/bin/bash

val=`expr 2 + 2`

echo "两数之和为:$val"

执行脚本,输出结果如下所示:

两数之和:4

两点注意:

表达式和运算符之间要有空格,例如2+2是不对的,必须写成 2+2  这与我们熟悉的大多数编程语言不一样。

完整的表达式要被 ·· 包括

算术运算符

下表列出了常用的算术运算符

+   加法

-   减法

*    乘法

%   取余

=    赋值

== 相等

!=  不相等

注意表达式如果放在方括号之间 要有空格

实例

算术运算符实例如下:

#!/bin/bash

# author:菜鸟教程

# url:www.runoob.com

a=10

b=20

val=`expr $a + $b`

echo "a + b : $val"

val=`expr $a - $b`

echo "a - b : $val"

val=`expr $a \* $b`

echo "a * b : $val"

val=`expr $b / $a`

echo "b / a : $val"

val=`expr $b % $a`

echo "b % a : $val"

if [ $a == $b ]

then

  echo  "a 等于 b"

fi

if [ $a != $b ]

then

  echo "a 不等于 b"

fi

注意 :

乘号(*)前边必须加反斜杠(\)才能实现乘法运算;

if .. then ..fi 是条件语句

在 MAC 中 shell 的 expr 语法是 $(表达式) 此处表达式中的 "*" 不需要转义符号 "\".

关系运算符

关系运算符只支持数字,不支持字符串,除非字符串的值是数字。

下表列出了常用的关系运算符

运算符 说明

-eq   检测两个数是否相等,相等返回true.

-ne  检测两个数是否不相等 不相等返回true.

-gt    检测左边的数是否大于右边 为真 返回 true

-lt     检测左边的数是否小于右边  为真 返回true

-ge   检测左边的数是否大于等于右边  为真 返回true

-le    检测左边的数是否小于等于右边的  为真 返回true

Shell 基本运算符 1的更多相关文章

  1. (转)Shell——基本运算符

    Shell 基本运算符 原文:http://blog.csdn.net/sinat_36053757/article/details/70319481 Shell 和其他编程语言一样,支持多种运算符, ...

  2. 五、Shell 基本运算符

    Shell 基本运算符 Shell 和其他编程语言一样,支持多种运算符,包括: 算数运算符 关系运算符 布尔运算符 字符串运算符 文件测试运算符 原生bash不支持简单的数学运算,但是可以通过其他命令 ...

  3. Shell基本运算符之字符串运算符

    Shell基本运算符 1.字符串运算符 常用的字符串运算符 运算符 说明 例子 = 检测两字符串是否相等,相等返回true [ $a = $b ] != 检测两个字符串是否部相等,不相等返回true ...

  4. Shell基本运算符之布尔运算符、逻辑运算符

    Shell基本运算符 =============================摘自与菜鸟教程=============================== 1.布尔运算符 ! 非运算,表达式为tru ...

  5. Shell 基本运算符

    Shell 和其他编程语言一样,支持多种运算符,包括: 算数运算符 关系运算符 布尔运算符 字符串运算符 文件测试运算符 原生bash不支持简单的数学运算,但是可以通过其他命令来实现,例如 awk 和 ...

  6. 3. Shell 基本运算符

    1. 概述 1.1 Shell 支持多种运算符,包括以下几种 算数运算符 关系运算符 布尔运算符 字符串运算符 文件测试运算符 1.2 原生bash不支持简单的数学运算,但是可以通过其他命令来实现,例 ...

  7. [Linux]Shell的运算符和特殊变量

    说起Shell脚本,免不了用变量.特别是对于这种一堆符号表示变量的语言来说,你不了解一下相关变量的本意,根本无从下手.譬如写个循环遍历,$#就起了好大作用.所以还是有必要记录一下,也是对学习的一个笔记 ...

  8. shell 算术运算符

    算术运算符 下表列出了常用的算术运算符,假定变量 a 为 10,变量 b 为 20: 运算符 说明 举例 + 加法 `expr $a + $b` 结果为 30. - 减法 `expr $a - $b` ...

  9. (二)Linux Shell编程——运算符、注释

    2.7 Shell运算符 Bash 支持很多运算符,包括算数运算符.关系运算符.布尔运算符.字符串运算符和文件测试运算符.原生bash不支持简单的数学运算,但是可以通过其他命令来实现,例如 awk 和 ...

  10. Shell 基本运算符(转)

    Shell 和其他编程语言一样,支持多种运算符,包括: 算数运算符 关系运算符 布尔运算符 字符串运算符 文件测试运算符 原生bash不支持简单的数学运算,但是可以通过其他命令来实现,例如 awk 和 ...

随机推荐

  1. 从默认的index.jsp页面跳转或转发到其他页面

    使用forward还是redirect都可以完成跳转 forward:浏览器地址不变,所以存在重复提交的问题 <%  pageContext.forward("student/list ...

  2. Docker Nginx部署

    1.下载nginx镜像 docker pull nginx 2.创建nginx配置文件 vim /etc/nginx/nginx.conf user nginx; worker_processes 1 ...

  3. ssh连接超时中断问题解决方案

    当在终端使用ssh命令连接到服务器时,如果一段时间没有活动连接会被中断,以下有两种方案可以解决: 一.修改ssh客户端配置 编辑客户端 /etc/ssh/ssh_config (或~/.ssh/con ...

  4. Javascript实现信息滚动效果的方法

    <html><head><meta http-equiv="Content-Type" content="text/html; charse ...

  5. 验证python中函数传参是引用传递

    定义: 值传递(pass by value)是指在调用函数时将实际参数复制一份传递到函数中,这样在函数中如果对参数进行修改,将不会影响到实际参数. 引用传递(pass by reference)是指在 ...

  6. 从0开始学习 GitHub 系列之「03.Git 速成」

    前面的 GitHub 系列文章介绍过,GitHub 是基于 Git 的,所以也就意味着 Git 是基础,如果你不会 Git ,那么接下来你完全继续不下去,所以今天的教程就来说说 Git ,当然关于 G ...

  7. DirectX11笔记(八)--Direct3D渲染4--VERTEX SHADER

    原文:DirectX11笔记(八)--Direct3D渲染4--VERTEX SHADER 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/u0103 ...

  8. iView3.x Anchor(锚点)组件 导航锚点

    iView3.x Anchor(锚点)组件 导航锚点 iview 3.x框架中新添了一个Anchor(锚点组件),用这个组件去做页面的分类导航正好合适,但是苦于官方文档太过抽象研究了一整天,才勉强可以 ...

  9. PHPCMS网站迁移过程后,添加内容 报500错误解决方案

    问题出现原因:1.网站迁移过程中,上传下载文件时文件丢失  2.PHPCMS源码更新升级 解决方法 1.可以到官方下载最新版源码,替换过去.如果对源码有改动,需要先保存改动过的文件,替换过去之后,再替 ...

  10. 移动项目到centos中运行报错:failed to open stream: Permission denied

    这是文件夹没有读写权限的错误: (注意:TP5.0权限给runtime文件夹就行了,官方文档在安装tp5的方法中有介绍到权限问题) 在需要赋予权限的文件夹的前一级输入: chmod -R 文件夹名字