我是靠谱客的博主 繁荣茉莉,最近开发中收集的这篇文章主要介绍6.shell流程控制:if-then-else-elif-fi/case esac/for in/select in/while/until/跳出循环:break/continue1.选择结构-if-else2.选择结构case  XX in pattern1) xx;; pattern2) XX ;; *)XX esac2.循环结构三种for-while-until,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1.选择结构-if-else

if...then...fi 是条件语句

if ...then ...else...fi

if then elif then elif then else fi

注意:1)条件表达式[]要放在方括号之间,并且要有空格,例如 [$a==$b] 是错误的,必须写成 [ $a == $b ]。

2)条件表达式也可以放在(())是一种数学计算命令,它除了可以进行最基本的加减乘除运算,还可以进行大于、小于、等于等关系运算,以及与、或、非逻辑运算。当 a 和 b 相等时,(( $a == $b ))判断条件成立;

3)test 命令用于检查某个条件是否成立,与方括号([ ])类似。

4)test的竞争对手,完全可以取代test:

[[ ]]是 Shell 内置关键字,它和 test 命令类似,也用来检测某个条件是否成立。

test 能做到的,[[ ]] 也能做到,而且 [[ ]] 做的更好;test 做不到的,[[ ]] 还能做到。可以认为 [[ ]] 是 test 的升级版,对细节进行了优化,并且扩展了一些功能。

[[ ]] 的用法为:

[[ expression ]]

eg:num1=$[2*3]

num2=$[1+5]

if test $[num1] -eq $[num2]

then

echo 'The two numbers are equal!'

else

echo 'The two numbers are not equal!'

fi

eg:

if [ $a == $b ]

then

echo "a is equal to b"

fi

2.选择结构case  XX in pattern1) xx;; pattern2) XX ;; *)XX esac

case expression in
    pattern1)
        statement1
        ;;
    pattern2)
        statement2
        ;;
    pattern3)
        statement3
        ;;
    ……
    *)
        statementn
esac

case in 的 pattern 部分支持简单的正则表达式,具体来说,可以使用以下几种格式:

格式说明
*表示任意字符串。
[abc]表示 a、b、c 三个字符中的任意一个。比如,[15ZH] 表示 1、5、Z、H 四个字符中的任意一个。
[m-n]表示从 m 到 n 的任意一个字符。比如,[0-9] 表示任意一个数字,[0-9a-zA-Z] 表示字母或数字。
|表示多重选择,类似逻辑运算中的或运算。比如,abc | xyz 表示匹配字符串 "abc" 或者 "xyz"。

 

2.循环结构三种for-while-until

while condition
do
    statements
done

//

until condition
do
    statements
done

//

for 变量 in 列表
do
    command1
    command2
    ...
    commandN
done

//select variable in value_list
do
    statements
done

 

最后

以上就是繁荣茉莉为你收集整理的6.shell流程控制:if-then-else-elif-fi/case esac/for in/select in/while/until/跳出循环:break/continue1.选择结构-if-else2.选择结构case  XX in pattern1) xx;; pattern2) XX ;; *)XX esac2.循环结构三种for-while-until的全部内容,希望文章能够帮你解决6.shell流程控制:if-then-else-elif-fi/case esac/for in/select in/while/until/跳出循环:break/continue1.选择结构-if-else2.选择结构case  XX in pattern1) xx;; pattern2) XX ;; *)XX esac2.循环结构三种for-while-until所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(42)

评论列表共有 0 条评论

立即
投稿
返回
顶部