概述
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所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复