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是否为存在且为文件

 

posted @ 2021-06-26 16:47  さくらむすび  阅读(606)  评论(0)    收藏  举报