Linux Shell基础知识6 结构化语句

13、结构化语句

13.1 if then语句

格式1:

if 命令

then

fi

if行中如果命令返回的退出状态为0,则执行then中的所有命令,否则就会跳过这些命令。

格式2:

if 命令 ; then

fi

13.2、if then else语句

if 命令

then

else

fi

13.3、嵌套if语句

if 命令

then

elif

then

fi

13.4、test命令

作用:如果test命令中列出的条件值为true,则test命令以0退出状态代码退出,相当于模拟了boolean表达式的作用。

格式1:test 条件

格式2:[ 条件 ]

数值比较:

-eq

-ge

-le

-gt

-lt

-ne

字符串比较:

=

!=

<

>

-n 长度是否大于0

-z 长度是否为0

文件比较:

-d 是否存在并且是一个目录

-e 是否存在

-f 是否存在并且是一个文件

-r 是否存在并可读

-s 是否存在并且不为空

-w 是否存在并可写

-x 是否存在并可执行

-O 是否存在并被当前用户拥有

-G 是否unzai并默认组为当前用户组

-nt 是否更新

-ot 是否更旧

复合条件检查:

&&

||

13.5、if then 高级特征

双圆括号:(( 表达式 )),表达式可以是任何的数学赋值表达式或数学比较表达式。

双圆括号命令符号:

++

!

~

**取幂

<<

>>

&

|

&&

||

双方括号:[[ 表达式 ]],提供了模式匹配,例如 [[ $USER == r* ]] $USER是否以r开头

13.6、case命令

格式:

case 变量 in

值1 | 值2)

;;

值3)

;;

*)相当于default

;;

例子:

case $result in

1)

tip="result is 1";;

2)

tip="result is 2";;

3)

tip="result is 3";;

*)

tip="other result";;

esac

看着它或是汹涌或是平静,然而一直相随,不离不弃。

Linux Shell基础知识6 结构化语句

相关文章:

你感兴趣的文章:

标签云: