Java教程

shell脚本学习笔记6-shell运算

本文主要是介绍shell脚本学习笔记6-shell运算,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

一、算术运算

shell中的运算符有:+、-、*、\、%、**(开方,3**3,3的3次方)

运算命令有:expr、let、$(())、bc

 

1.1、expr

expr只能做整数运算,注意空格。

语法:

如:expr 1 + 1

expr 1 \* 1(出现*的时候要用转义符\)

 

1.2、let

let只能做整数运算,且运算元素必须是变量,无法直接对整数做运算。

let支持++、--、**运算,*不需要 \ 转义

语法:

如:let a=1+100;echo $a  a=1+100,并打印a的值

let a++;echo$a

let a=100*3;echo$a

 

1.3、双小圆括号(())

在shell中(())也可以用来做数学运算,支持++、--、**,*不需要 \ 转义

语法:

如:echo $((1+1))  计算1+1的值

 

1.4、bc

bc为linux中的一个文本计数器,可通过echo输入进行计算

语法:

如:echo "scale=2;3+100"|bc  scale=2指定小数部分为两位,将echo中的内容输入bc进行计算

 

二、比较运算

shell中的比较运算符与我们常用的编程语言中的比较运算符不同

 

 以上运算符只能用于整形数的比较,运用test命令进行比较

如:test 100 -gt 300;echo $?  100是否大于300,比较结果只能通过echo $?查看,0则为真,即执行成功;1则为假,即执行失败。

 

浮点数比较思路:

将两个数同时乘以n倍,使他们变成整形数,再进行比较

 

三、字符串比较

3.1、字符串比较运算符

==  等于

!=  不等于

-n  检查字符串的长度是否大于0

-z  检查字符串的长度是否为0

 

3.2、比较方法

如:test "root" == "root";echo $?

 

四、文件判断(类型、权限、新旧)

linux下可以通过test命令对文件类型进行判断

语法:

test options 表达式

OPTIONS:

 

 如:test -f /etc/passwd;echo $?  判断passwd是否为存在且为文件

 

这篇关于shell脚本学习笔记6-shell运算的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!