shell之路 shell核心语法【第四篇】流程控制

if语句

  • if ... fi 语句;
  • if ... else ... fi 语句;
  • if ... elif ... else ... fi 语句。

注意:

expression 和方括号([ ])之间必须有空格,否则会有语法错误。

if语句匹配到,则不会继续往下匹配。

语法

if [ expression ]
then
   commands
fiif [ expression ];then
   commands
fi
View Code

实例

#!/bin/sh
a=10
b=20
if [ $a == $b ]
then
echo "a is equal to b"
fi
if [ $a != $b ]
then
echo "a is not equal to b"
fi
~
View Code
#!/bin/sh
a=10
b=20
if [ $a == $b ];then
echo "a is equal to b"
fi
if [ $a != $b ]
then
echo "a is not equal to b"
fi
View Code
[root@hy ~]# sh 1.sh
a is not equal to b

 

case语句

语法:

casein
模式1)
    command
    ;;
模式2)
    command
    ;;
*)
    command
    ;;
esac
View Code

 实例:

echo 'Input a number between 1 to 4'
echo 'Your number is:'
read aNum
case $aNum in
1)  echo 'You select 1'
;;
2)  echo 'You select 2'
;;
3)  echo 'You select 3'
;;
4)  echo 'You select 4'
;;
*)  echo 'You do not select a number between 1 to 4'
;;
esac
View Code
[root@hy ~]# sh 1.sh
Input a number between 1 to 4
Your number is:
3
You select 3

 

for语句

语法:

for 变量 in 列表
do
    commands
done
View Code
for(())
do
    commands
done
View Code

实例:

#!/bin/bash
for FILE in $HOME/.bash*
do
echo $FILE
done
View Code
/root/.bash_history
/root/.bash_logout
/root/.bash_profile
/root/.bashrc

while语句

expression 和方括号([ ])之间必须有空格,否则会有语法错误。

语法:

while command
do
    commands
done
View Code

说明:command为(())、[]、命令

 实例

#!/bin/bash
x=1
while ((x<5))
do
  let x=x+2
  echo $x
done
View Code
[root@hy ~]# sh 1.sh
3
5

循环控制break continue

实际使用时,一般n为1,n>1的情况了解一下就行

外层循环执行一次,内层循环全部执行

 

break 跳到循环结束

break

break n

continue

continue  跳到下一次循环开始

 

continue跳到下一层循环开始

 

 

 

posted @ 2016-02-03 16:44  沐风先生  阅读(300)  评论(0)    收藏  举报