shell脚本语言学习三

2018-06-11  本文已影响10人  星辰流转轮回

一 echo命令

1.显示普通字符串

echo "字符串"

2.显示变量

echo "${变量名}"

3.显示换行  需要开启转义功能 -e    \n 表示换行

echo -e "下一句换行 \n 这里换行"

4.不换行    需要开启转义功能 -e      \c表示不换行

echo -e "下一句不换行 \c "

echo "这里不换行"

5.显示一个执行命令

echo `date `      一定要注意这里的引号的方向!

6.退出命令 exit 执行之后,脚本后边的代码不再执行

可以直接写 ,也可以抛出一个状态,如

exit 1

默认为0

一般常见状态码:

状态码    描述

  0            命令成功执行

  1            一般性的未知错误

  2            不适合的shell命令

126        命令不可执行

127        没找到命令

130        通过Ctrl+C终止的命令

255        正常范围之内的退出状态码

二    shell语言的基本运算符

1.算数运算符  "+"  "-" "*"  "/"  "%"

a=11

b=20

"+" 运算

c=`expr $a + $b`

"-" 运算

d=`expr $a - $b`

"*" 运算    ps: 乘法运算记得加一个转义字符 "\"

e=`expr $a \* $b`

"/" 运算

f=`expr $a / $b`

"%" 取余运算

g=`expr $a % $b`

"=" 运算

h=$b

ps:关于 expr 也可以这样写 :

d=$(expr $a + $b)

e=$[$a+$b]

2.关系运算符

"-eq"    检测两个数是否相等,相等返回true

"-ne"   检测两个数是否相等,不相等返回true

"-gt"   检测左边数是否大于右边数,如果是,返回true

"-lt"    检测左边数是否小于右边数,如果是,返回true

"-ge"  检测左边数是否大于等于右边数,如果是,返回true

"-le"   检测左边数是否(小于+等于)右边数,如果是,返回true

有意思的是,如果两个值都不存在,以上都会返回true

3.布尔值运算符

"!" 非运算

if [ $a != $b ]

then

    echo "a不等于b"

else

    echo "a等于b"

fi

"-o" 或运算

if [ $a -lt 10 -o $b -gt 20 ]

then

    echo 真

else

    echo 假

fi

"-a" 与运算

if [ $a -lt 10 -a $b -gt 20]

then

    echo 真

else

    echo 假

fi

4.逻辑运算符

"&&" 逻辑且   注意写法与"-a"不一样

if [ $a -lt 10 ] && [ $b -gt 20 ]

then

    echo 真

else

    echo 假

fi

"||" 逻辑或

if [ $a -lt 10 ] || [ $b -gt 20 ]

then

    echo 真

else

    echo 假

fi

5.字符串运算

"="   检测两个字符串是否相等,如果相等,返回true

"!="  检测两个字符串是否相等,如果不相等,返回ture

"-z"  检测字符串的长度,是否为0,如果为0,返回ture

"-n"  检测字符串存在,如果存在,返回ture,判断取值时最好加上双引号! 不然可以一直存在!

可以通过取值,直接检测字符串是否为空,如果不为空,返回ture

6.文件测试运算符

"-d file"   检测文件是不是一个目录,如果是,那么返回ture

"-r file"   检测文件是否可读,如果是,那么返回true

"-w file"  检测文件是否可写,如果是,那么返回true

"-x file"   检测文件是否是可执行文件,如果是,那么返回true

"-f file"    检测文件是否是普通文件(既不是目录,也不是设备文件) 如果是,返回ture

"-s file"    检测文件是否是不为空,如果有内容,返回ture

"-e file"    检测文件或目录是否存在,如果存在,返回ture

上一篇 下一篇

猜你喜欢

热点阅读