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" ...
随机推荐
- jave之set和get的用法
package com.xxl.api.admin; public class Test { private int score; public int getScore() { return sco ...
- Zip-line Codeforces - 650D || 风筝
https://codeforces.com/contest/650/problem/D 原题? http://210.33.19.103/contest/1024/problem/2 4s 520M ...
- 转 造成ORA-01843 无效的月份的一些原因
- freertos之资源管理学习
OS下在对硬件外设资源操作.多任务的共享变量.任务和中断的共享变量操作时需要考虑资源的完整性和安全性. FREERTOS提供了临界区.调度器上锁.互斥量.优先级自动继承.创建守护任务的方法来改变最小优 ...
- msyql 死锁
1.使用 show processlist; 查询当前进程; 找到Command 状态是query 并且Time 时间很长的id kill掉即可 2.select * from information ...
- 基于Matlab的标记分水岭分割算法
转自:http://blog.sina.com.cn/lyqmath 1 综述 Separating touching objects in an image is one of the more d ...
- Django分组查询
先补充两个知识点: 1.group by 大前提:可以按照任意字段分组,但是最好是按照分辨度比较低的来分组(重复比较多的分辨度比较低). group by分组可以单独使用,不搭配其他条件. 分组的字段 ...
- JavaScript之执行环境及作用域
执行环境定义了变量或函数有权访问的其他数据,决定了它们各自的行为.每个执行环境都有一个与之关联的变量对象,环境中定义的所有变量和函数都保存在这个对象中.我们编写的代码是无法访问这个对象的,但解 ...
- js 获取当前URL信息
document.location 这个对象包含了当前URL的信息 location.host 获取port号 location.hostname 设置或获取主机名称 location.href 设置 ...
- MINST手写数字识别(二)—— 卷积神经网络(CNN)
今天我们的主角是keras,其简洁性和易用性简直出乎David 9我的预期.大家都知道keras是在TensorFlow上又包装了一层,向简洁易用的深度学习又迈出了坚实的一步. 所以,今天就来带大家写 ...