Shell学习笔记——算数运算与条件测试
算数运算
1. 使用let命令
#!/sbin/bash
var1=2
var2=3
let sum=var1+var2
echo $sum
2. 使用$[...]
#!/sbin/bash
var1=2
var2=3
sum=$[ var1+var2 ]
echo $sum
3 使用$((...))
#!/sbin/bash
var1=2
var2=3
sum=$((var1+var2))
echo $sum
4 expr
#!/sbin/bash
var1=2
var2=3
sum=`expr $var1 + $var2`
echo $sum
5 可以用于浮点数计算的bc工具
#!/sbin/bash
var1=2.6
var2=3
sum=`echo "$var1 * $var2" | bc`
echo $sum
条件测试
[ $var1 -eq $var2 ]
逻辑运算符
[ $var1 -eq 0 -a $var2 -ne 2 ]
文件测试
[ -f $file_var ]<span style="white-space:pre"> </span>//判断是否为普通文件或路径,是的话返回真
[ -x $var ] //判断是否为可执行文件
[ -d $var ] //判断是否为目录
[ -e $var ] //判断文件是否存在
[ -c $var ] //判断是否为字符设备文件
[ -b $var ] //判断是否为块设备文件
[ -w $var ] //判断文件是否可写
[ -r $var ] //判断文件是否可读
[ -L $var ] //判断文件是否为符号链接
用法
fpath="/etc/passwd"
if [ -e $fpath ]; then
echo "$fpath exist!"
else
echo "$fpath exist!"
fi
字符串比较
字符串比较可以直接使用 == > < >= <=符号
-z // 判断是否为空字符串
-n //判断是否为非空字符串
判断表达式 [ ] 可以用test替代
Shell学习笔记——算数运算与条件测试的更多相关文章
- 【转】shell学习笔记(四)——条件测试
1 test 条件检测 当我要检测系统上面某些文件或者是相关的属性时,利用 test 这个命令来工作真是好用得不得了, 举例来说,我要检查 /home/oracle/zy是否存在时,使用: test ...
- Shell基础(二):Shell中的数值运算、条件测试操作、使用if选择结构
一.Shell中的数值运算 目标: 本案例要求熟悉Linux Shell环境的特点,主要练习以下操作: 1> 使用expr.$[ ].let等整数运算工具:定义变量X=1234,然后计算X与78 ...
- shell 字符串比较 算数比较 文件条件测试
set-group-id即set-gid -->授予了程序其所在组的访问权限 set-user-id即set-uid -->授予了程序其拥有者的访问权限而不是其使用者的访问权限 set-g ...
- 学习笔记:CentOS7学习之二十一: 条件测试语句和if流程控制语句的使用
目录 学习笔记:CentOS7学习之二十一: 条件测试语句和if流程控制语句的使用 21.1 read命令键盘读取变量的值 21.1.1 read常用见用法及参数 21.2 流程控制语句if 21.2 ...
- SHELL学习笔记----IF条件判断,判断条件
SHELL学习笔记----IF条件判断,判断条件 前言: 无论什么编程语言都离不开条件判断.SHELL也不例外. if list then do something here ...
- [转帖][Bash Shell] Shell学习笔记
[Bash Shell] Shell学习笔记 http://www.cnblogs.com/maybe2030/p/5022595.html 阅读目录 编译型语言 解释型语言 5.1 作为可执行程序 ...
- shell学习笔记汇总
1.shell脚本中函数使用 函数定义在前,调用在后,顺序反了就没有效果了.函数调用为:函数名 参数列表 函数内部通过以下变量访问函数的参数:shell脚本函数中: $0: 这个脚本的名字 $n: 这 ...
- shell学习笔记
shell学习笔记 .查看/etc/shells,看看有几个可用的Shell . 曾经用过的命令存在.bash_history中,但是~/.bash_history记录的是前一次登录前记录的所有指令, ...
- python3.4学习笔记(十) 常用操作符,条件分支和循环实例
python3.4学习笔记(十) 常用操作符,条件分支和循环实例 #Pyhon常用操作符 c = d = 10 d /= 8 #3.x真正的除法 print(d) #1.25 c //= 8 #用两个 ...
随机推荐
- java中hashSet原理
转自: http://blog.csdn.net/guoweimelon/article/details/50804799 HashSet是JavaMap类型的集合类中最常使用的,本文基于Java1. ...
- Java学习第一周博客
20145307<Java程序设计>第一周学习总结 教材学习内容总结 首先学习安装Java有两种方法,一种是用Eclipse直接编辑输出,另一种方法是用记事本之后用win+G开启cmd运行 ...
- 20145310《Java程序设计》第3周学习总结
20145310 <Java程序设计>第3周学习总结 教材学习内容总结 本周学习内容比较多,主要是第四第五章的学习. 第四章 类与对象 类是对象的设计图,对象是类的实例. 类(Class) ...
- 20145328 《Java程序设计》第0周学习总结
20145328 <Java程序设计>第0周学习总结 阅读心得 从总体上来说,这几篇文章都是围绕着软件工程专业的一些现象来进行描述的,但深入了解之后就可以发现,无论是软件工程专业还是我们现 ...
- keras安装配置指南【linux环境】【转】
本文转载自:https://keras-cn.readthedocs.io/en/latest/for_beginners/keras_linux/#kerasmnist 本教程不得用于任何形式的商业 ...
- git重命名分支名
git branch -m old_branch_name new_branch_name
- 使用WebUploader实现文件批量上传,进度条显示功能
知识点:利用WebUploader,实现文件批量上传,并且实时显示文件的上传进度 参考官方文档:http://fex.baidu.com/webuploader/ (1)引入三个资源 JS,CSS,S ...
- LIS学习笔记(两种算法)O(n^2) 和 O(nlogn)
2017-09-02 10:34:21 writer:pprp 最长上升子序列,具体分析看代码:O(n^2)的做法,dp的思想 分析:每次读一个进行扫描,如果当前读入的这个要比之前的大, 说明有可能加 ...
- url拼接
在做网页抓取的时候经常会遇到一个问题就是页面中的链接是相对链接,这个时候就需要对链接进行url拼接,才能得到绝对链接. url严格按照一定的格式构成,一般为如下5个字段: 详细可参考RFC:http: ...
- python中的参数传递
一般的参数顺序是先位置,再关键字,然后是包裹位置传递,包裹关键字传递.