Linux系统及C高级学习日报day4

一、shell中的算数运算

1.(())进行算数运算

        格式: ((表达式1,表达式2,表达式3,.......))

最后一个是表达式的结果

1.1.获取输出的结果

        var1=$((表达式1,表达式2,表达式3.....))

注意:

                1>  括号中表达式使用变量时,可以加$,也可以不加$,建议加$

                2>运算符的前后可以加空格,也可以不加空格

3>括号内可以写C语言中的任何的算数运算,甚至更复杂的运算。

2.$[ ]

1>格式

ret=$[ 表达式1,表达式2,....]

最后一个表达式的结果作为整个表达式的结果

2>$[ ]进行运算时必须有一个变量接受其返回值

3> 在运算符中引入变量时可以加$,也可以不加$

4> 运算符的两边可以有空格,也可以没有空格

3.let

1> 格式

                let sum=var1运算符var2

2> let必须放到整个语句的最前边

3>运算符两边不允许有空格,等号两边也不能有空格

4> 如果使用变量可以加$,也可以不加$

4.expr

1>格式

                expr  表达式

2>使用变量时,必须加$

3>运算符的前后必须加空格

4>expr 不能进行自增自减的运算

5> expr使用部分运算符必须进行转义

6>expr 中使用变量时,最后使用双引号将变量括起来

7>如何将expr的结果赋值给一个变量

        ret=`expr "$var1"运算符"$var2"`

8>算数运算符

        $arg1 \> $arg2    成立返回1,不成立返回0

        $arg1 \< $arg2 

        $arg1 \>= $arg2 

        $arg1 \<=$arg2 

        $arg1 != $arg2 

        $arg1 = $arg2 

        $arg1 +|-|\*|/|%  $arg2 

以上运算符使用变量时可以不加双引号

也可以进行 |  &运算

9>字符串的运算

        expr     match      STRING   REGEXP:

                从STRING字符串中第一个字符开始匹配REGEXP字符串,

                匹配成功返回,匹配的字符的个数,失败返回0。

        expr    substr        STRING    POS  LENGTH :

                从STRING字符串中第POS位置开始截取,截取的长度为LENGTH,

                将截取的字符串返回(注:字符串的第一个字符从1开始)

        expr  index  STRING  CHARS :

                查找CHARS字符在STRING字符串出现的位置,返回值是字符串的下边(注:字符串的第一个字符从1开始),如果一个字符串中有多个相同字符,匹配到第一个就会结束

        expr   length  STRING :

                计算STRING字符串的长度

                ${#str}------>  计算字符串的长度

二、if语句的使用

1.格式

        if[表达式]

        then

                shell语句

        fi

        

        if [表达式]

        then

                shell语句

        else

                shell语句

(1)字符串对象

        一定要注意在进行字符串的判断的时候都需要加上"","$a","hello"

        -z    判断字符串是否为空

        -n    判断字符串是否为非空

        =或==都是来判断字符串是否相等

        .......

(2)        数字对象

        -eq  :等于

        -ne   :不等于

        -gt    :大于

        -lt      :小于

        -ge    :大于等于

        -le     :小于等于

(3)文件属性

        -b  filename  判断文件是否存在,是否是块设备

        -c   filename    判断文件是否存在,是否是字符设备

        -d      ------------是否是目录

        -f       ------------是否是普通文件

(4)文件权限

        -r filename 判断文件是否存在,是否有可读权限

        -w filename 判断文件是否存在,是否有可写权限

        -x filename 判断文件是否存在,是否有可执行权限

(5)文件比较

                -nt   文件是否更新

                -ot   文件是否更旧

                -ef    文件的inode是否一致

(6)逻辑运算

        -a  与&& 

        -o  与| |

                !

三、case  in  分支语句

case in  分支语句等价于C语言中的switch  case 语句

case $var  in

        表达式1)

                shell语句

                ;   ;

        表达式2)

                shell语句

                ;   ;

        *)

                shell语句

                ;    ;

esac

四,循环语句----->while

while[    表达式1   ]

do

        循环体2

done

        执行顺序:【1】【2  1】【2   1】......

五、循环语句-------> for

方式1:

for((表达式1;表达式2;表达式3))

do

        循环体4

done

方式2:

for   var   in  单词列表

do

        循环体

done

六、选择语句------>select  in

格式:

select  var  in   选项列表

do

        语句

done

select  in 经常和 case  in一起使用

七、break/continue

1.break : 退出整个循环体

break  n

1> break  默认退出一层循环体

2>break  n  退出n层循环体

2.continue  :退出本次循环

continue  n

1>continue 默认退出一层本次循环 

2>continue  n 退出n 层本次循环

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值