shell脚本:命令

命令连接符

;表示不管前面是否执行成功都要执行

&&表示前面执行成功才执行后面

||表示前面执行失败才执行后面

read命令

read [选项] 值

read -p(提示语句) -n(字符个数) -t(时间秒) -s(不显示)

运算符

expr 3 + 2

结果赋值

sum=`expr 3 + 2` 或者 sum=$((3 + 2))

乘法

expr 3 \* 2 #需要转义,*代表任意字符

expr `expr 3 + 2` \* 5   ==> (3 + 2)* 5

sum=`expr \`expr 3 + 2\` \* 5`   或者 sum=$(((3 + 2) * 5))

$()和${}的区别

$()的用途和``一样,迎来表示优先执行的命令

${}就是去变量

$(())适用于数值运算

条件判断

内置test命令

内置test命令常用操作符号[]表示,将表达式写在[]中

[ expression ] #expression前后各有空格

或者 test expression

测试范围:整数、字符串、文件

字符串测试

test str1 == str2

test str1 != str2

test str 测试字符串是否不为空 test $num5;echo $?

test -n str1 测试字符不为空 需要给str1 加双引号

test -z str1 测试字符串为空

字符串测试可以加逻辑符号

test -z str1 && echo invlid || echo ok

整数测试

test int1 -eq int2  --> ==

test int1 gt int2   -->  >

test int1 lt int2   --> <

test int1 ge int2   --> >=

test int1 le int2   -->  <=

test int1 ne int2   --> !=

文件测试

test -d file 指定文件是否目录

test -e file 文件是否存在

test -f file 指定文件是否常规文件

test -L file 文件存在并且是一个符号链接

test -r file 指定文件是否可读

test -w file 指定文件是否可写

test -x file 制定文件是否可执行

多重条件测试

条件1 -a 条件2 逻辑与 两个都成立,则为真

条件1 -o 条件2 逻辑或

!条件 逻辑非 取反

猜你喜欢

转载自blog.csdn.net/ademing/article/details/83045970