shell-code-4-运算符
#1. shell 基本运算符有:算数、关系、布尔、字符串、文件测试运算符
#2. 原生bash不支持简单的数学运算,可使用awk和expr(最常用)
echo `expr 1 + 2`
# 反引号;表达式和运算符之间要有空格,例如 2+2 是不对的
a=1
b=2
# + - * / % = == !=
echo `expr $a / $b`
# 乘号(*)前边必须加反斜杠(\)才能实现乘法运算
echo `expr $a \* $b`
# 注意空格
if [ $a != $b ]
then
echo "a != b"
fi
# 关系运算符只支持数字,不支持字符串,除非字符串的值是数字
# -eq -ne -gt -lt -ge -le
if [ $a -lt $b ]
then
echo "a < b"
else
echo "a > b"
fi
# 上面为:if空[空$a空-lt空$b空]
# 下面报错expr: syntax error,因为返回的是true或者false
echo `expr $a -eq $b`
# 布尔运算符:! -o -a
if [ $a -eq 1 -o $b -lt 3 ]
then
echo "a == 1 and b < 3"
else
echo "Nooooo"
fi
# 逻辑运算符:&&和||
if [[ $a -eq 1 && $b -lt 3 ]]
then
echo "a == 1 and b < 3"
else
echo "Nooooo"
fi
# 字符串运算符
# 检验两个字符串是否相等=不相等!=
# -z长度为0返回true,-n长度为0返回false
a="aaa"
b="bb"
if [ $a != $b ]
then
echo a!=b
fi
if [ -n $a ]
then
echo a.len is not 0
fi
# 检验a是不是空串?
if [ $a ]
then
echo a is not white
fi
# 文件测试运算符用于检测 Unix 文件的各种属性。
file="/var/www/runoob/test.sh"
if [ -r $file ]
then
echo "文件可读"
else
echo "文件不可读"
fi

shell-code-4-运算符的更多相关文章
- Linux学习——shell编程之运算符
shell编程之运算符 一:shell中常见算术运算符号和优先级 二:算术运算符 Shell 变量:是弱类型!不能进行加减乘除!比较麻烦! 例子 :shell变量弱类型 a=11 b=22 echo ...
- shell 6基本运算符
shell支持多种运算符: * 算数运算符 * 关系运算符 * 布尔运算符 * 字符串运算符 * 文件测试运算符 算数运算符 + 加 `expr $a + $b` 结果为 30 - 减 `expr $ ...
- 『忘了再学』Shell基础 — 20、Shell中的运算符
目录 1.Shell常用运算符 2.Shell中数值运算的方法 (1)方式一 (2)方式二 (3)方式三(推荐) 1.Shell常用运算符 Shell中常用运算符如下表: 优先级数值越大优先级越高,具 ...
- shell的比较运算符
运算符 描述 示例 文件比较运算符 -e filename 如果 filename 存在,则为真 [ -e /var/log/syslog ] -d filename 如果 filename 为目录, ...
- linux shell “(())” 双括号运算符使用
导读 在刚开始学习inux shell脚本编程时候,对于它的 四则运算以及逻辑运算.估计很多朋友都感觉比较难以接受.特变逻辑运算符"[]"使用时候,必须保证运算符与算数 之间有空格 ...
- shell之算数运算符、逻辑运算符、关系运算符、布尔运算符、文件测试运算符
注意事项: (1)bash不支持简单的数学运算,但是可以通过其他命令来实现,例如 awk 和 expr,expr 最常用: (2)完整的表达式要被 ` ` 包含,注意这个字符不是常用的单引号,在 Es ...
- Shell自学之运算符和echo(W3C)
上面理论知识,最下面有我做的测试的例子: 10.Shell运算符 expr是一款表达式计算工具,使用它能完成表达式的求值操作 例:val=`expr 2 + 2`;echo "${val}& ...
- linux shell (()) 双括号运算符使用
估计很多朋友都感觉比较难以接受.特变逻辑运算符"[]"使用时候,必须保证运算符与算数 之间有空格. 四则运算也只能借助:let,expr等命令完成. 今天讲的双括号"(( ...
- Shell脚本学习 - 运算符
继续shell脚本学习.上一篇是基本数据类型和语法的总结,这一篇是运算相关的操作. 运算符 bash不支持简单的数学计算,需要依赖其他命令实现. expr可以代为实现. # 表达式一般这么写 ` + ...
- shell编程 之 运算符
1 shell运算符简介 Shell 和其他编程语言一样,支持多种运算符,包括: 算数运算符 形如:val=`expr 2 + 2`:echo "两数之和为 : $val" ...
随机推荐
- Codeforces Round #388 (Div. 2) D
There are n people taking part in auction today. The rules of auction are classical. There were n bi ...
- python学习之列表元组,字典
list:元素性质可以不一致,元素还可以是list,可类似数组方法进行索引(也可以用负数索引,-1表示最后一个),可用.append('')进行动态增加,可用pop()删除最后一个或者pop(i)删除 ...
- java的8大排序详解
本文转自 黑色幽默Lion的博客 http://www.cnblogs.com/pepcod/archive/2012/08/01/2618300.html 最近开始学习java,排序的部分之前学C的 ...
- ASP.NET Core MVC/WebAPi 模型绑定
public class Person { public string Name { get; set; } public string Address { get; set; } public in ...
- ubuntu 文件解压命令
[解压.zip文件] unzip ./FileName.zip //前提是安装了unzip 安装unzip命令:sudo apt-get install unzip 卸载unzip软件 命令:sudo ...
- echarts 添加Loading 等待。
capturedsDetailsEcharts: function(id) { if (!id) { id = mini.get("chnNameCaptureds").getVa ...
- SpringBoot 2.x (9):整合Mybatis注解实战
SSM框架再熟悉不过了,不过以前通常是使用XML写SQL语句 这里用SpringBoot整合Mybatis并且使用注解进行开发 依赖: <!-- Mybatis --> <depen ...
- Android 开机启动服务
在xml中注册 <!-- 开机广播 --> <receiver android:name=".receiver.BootBroadcastReceiver"> ...
- 读懂《HTML5网页开发实例详解》这本书
你还在用Flash嘛?帮主早不用了 乔布斯生前在公开信<Flash之我见>中预言:像HTML 5这样在移动时代中创立的新标准,将会在移动设备上获得胜利. ——国际巨头Google.苹果等都 ...
- svn亲笔操作
1. 创建版本库 [root@iZ28dftuhfaZ db]# svnadmin create /var/svn-repositories/app-api/ . 导入数据到你的版本库[root@iZ ...