Shell 基本运算符 1
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的更多相关文章
- (转)Shell——基本运算符
Shell 基本运算符 原文:http://blog.csdn.net/sinat_36053757/article/details/70319481 Shell 和其他编程语言一样,支持多种运算符, ...
- 五、Shell 基本运算符
Shell 基本运算符 Shell 和其他编程语言一样,支持多种运算符,包括: 算数运算符 关系运算符 布尔运算符 字符串运算符 文件测试运算符 原生bash不支持简单的数学运算,但是可以通过其他命令 ...
- Shell基本运算符之字符串运算符
Shell基本运算符 1.字符串运算符 常用的字符串运算符 运算符 说明 例子 = 检测两字符串是否相等,相等返回true [ $a = $b ] != 检测两个字符串是否部相等,不相等返回true ...
- Shell基本运算符之布尔运算符、逻辑运算符
Shell基本运算符 =============================摘自与菜鸟教程=============================== 1.布尔运算符 ! 非运算,表达式为tru ...
- Shell 基本运算符
Shell 和其他编程语言一样,支持多种运算符,包括: 算数运算符 关系运算符 布尔运算符 字符串运算符 文件测试运算符 原生bash不支持简单的数学运算,但是可以通过其他命令来实现,例如 awk 和 ...
- 3. Shell 基本运算符
1. 概述 1.1 Shell 支持多种运算符,包括以下几种 算数运算符 关系运算符 布尔运算符 字符串运算符 文件测试运算符 1.2 原生bash不支持简单的数学运算,但是可以通过其他命令来实现,例 ...
- [Linux]Shell的运算符和特殊变量
说起Shell脚本,免不了用变量.特别是对于这种一堆符号表示变量的语言来说,你不了解一下相关变量的本意,根本无从下手.譬如写个循环遍历,$#就起了好大作用.所以还是有必要记录一下,也是对学习的一个笔记 ...
- shell 算术运算符
算术运算符 下表列出了常用的算术运算符,假定变量 a 为 10,变量 b 为 20: 运算符 说明 举例 + 加法 `expr $a + $b` 结果为 30. - 减法 `expr $a - $b` ...
- (二)Linux Shell编程——运算符、注释
2.7 Shell运算符 Bash 支持很多运算符,包括算数运算符.关系运算符.布尔运算符.字符串运算符和文件测试运算符.原生bash不支持简单的数学运算,但是可以通过其他命令来实现,例如 awk 和 ...
- Shell 基本运算符(转)
Shell 和其他编程语言一样,支持多种运算符,包括: 算数运算符 关系运算符 布尔运算符 字符串运算符 文件测试运算符 原生bash不支持简单的数学运算,但是可以通过其他命令来实现,例如 awk 和 ...
随机推荐
- 解决VC编译的DLL要安装对应运行环境否则无法使用的问题
编译时候改成静态链接,再通过使用Depends软件查看依赖即可.具体操作步骤:项目->属性->配置属性->C/C++-代码生成->运行库->多线程(/MT)说明:这种方法 ...
- Django项目:CRM(客户关系管理系统)--06--03PerfectCRM创建基本数据01
os.path.join(BASE_DIR, 'DBadd/DBadd_templates'), """ Django settings for PerfectCRM p ...
- HR招聘_(八)_招聘方法论(面试环节·问题设计)
基本情况: 您目前是在职还是离职?最快的到岗时间是? 目前的薪资情况如何,期望薪资是? 您是哪里人,单身吗? 动机判断: 您看机会主要考虑哪些因素? 最重要的是什么? 未来两三年的职业规划是? 您住在 ...
- HTML input type=file文件选择表单的汇总(二)
1. 原生file input大小.按钮文字等UI自定义 元素input的原生样式,不是太好看: 有一种方法是这样的:让file类型的元素透明度0,覆盖在我们好看的按钮上.然后我们去点击好看的按钮,实 ...
- PHP获取用户客户端真实IP的解决方案是怎样呢?
function getIp(){if (getenv("HTTP_CLIENT_IP") && strcasecmp(getenv("HTTP_CLIE ...
- 深入浅出Cocoa之消息(二)-详解动态方法决议(Dynamic Method Resolution) 【转】
序言 如果我们在 Objective C 中向一个对象发送它无法处理的消息,会出现什么情况呢?根据前文<深入浅出Cocoa之消息>的介绍,我们知道发送消息是通过 objc_send(id, ...
- 报错OPTION SQL_SELECT_LIMIT=
org.quartz.JobPersistenceException: Couldn't acquire next trigger: You have an error in your SQL syn ...
- linux下的OpenCV安装&学习笔记
http://www.linuxdiyf.com/viewarticle.php?id=20731 (本想在fedora下安装编译的,但目前opencv官网.sourceforge等网站都无法访问下载 ...
- Directx教程(30) 如何保证渲染物体不会变形
原文:Directx教程(30) 如何保证渲染物体不会变形 在Directx11教程(6)中, 我们曾经实现过这个功能,但那时是在SystemClass中,处理WM_SIZE时候,重新调用m ...
- Directx教程(25) 简单的光照模型(4)
原文:Directx教程(25) 简单的光照模型(4) 在本篇日志中,我们尝试用不带衰减的点光源来计算漫反射颜色. 前面的三个工程,我们都用的是方向光源(directional li ...