概述
Shell编程之流程控制
- 条件选择( if )
- 多条件选择( case )
- 循环( for + while + until )
- 双括号
<一> 条件选择语句
- 多行书写规范
- 单行书写规范
#!/bin/bash
a=10
if [ ! $a -eq 11 ]
then
echo "a!=11"
fi
if [ ! $a -eq 11 ];then echo "a!=11";fi
if [ $a -eq 5 ]
then
echo "a=5"
elif [ $a -lt 5 ]
then
echo "a<5"
else
echo "a>5"
fi
- 单层中括号与双层中括号
#!/bin/bash
a=5
if [ $a -le 10 ]
then
echo "PASS"
fi
#逻辑运算符需要使用双括号,布尔运算符使用单括号
if [[ $a -le 10 && $a -le 5 ]]
then
echo "PASS"
fi
if [ $a -le 10 -a $a -le 5 ]
then
echo "PASS"
fi
<二> 多条件选择语句
#!/bin/bash
a=10
case $a in
1) echo "a=1";;
10) echo "a=10";;
esac
<三> 循环语句
- for循环
#!/bin/bash
b=(1 2 3 4 5 "hello")
for i in ${b[*]}
do
echo $i
done
for((i=0;i<${#b[*]};i++))
do
echo ${b[i]}
done
#!/bin/bash
n=10
for i in $(seq 1 $n):do
sum=$(($i+$sum))
#let "sum+=i"
done
echo $sum
- while循环
#!bin/bash
a=5
while [ $a -le 10 ]
do
echo "PASS"
let "a++"
done
- until循环( 判断条件与while相反 )
#!/bin/bash
a=5
until [ $a -ge 10 ]
do
echo "PASS"
let "a++"
done
- 死循环
#!/bin/bash
:<<!
while :
do
echo "??"
done
for((;;))
do
echo "!!"
done
!
实践:打印99乘法表
#!/bin/bash
columns=(1 2 3 4 5 6 7 8 9)
rows=(1 2 3 4 5 6 7 8 9)
for row in ${rows[*]}
do
for column in ${columns[*]}
do
if [ $column -le $row ];then
echo -n "$row*$column=`expr $row * $column` "
fi
done
echo
done
<四> 双括号
注意:双括号表达式不能作为结果赋值给某变量!
#!/bin/bash
foo=1
while [ $foo -le 20 ]
do
echo "hello"
# foo=$(($foo+1))
((foo++))
done
# instead while with for
for((i=0;i<=20;i++))
do
echo "hello"
done
# dead circle
for((;;))
do
echo "hello"
done
最后
以上就是苹果眼神为你收集整理的LinuxShell - 流程控制的全部内容,希望文章能够帮你解决LinuxShell - 流程控制所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复