您的位置:首页 > 运维架构 > Shell

Shell if语句,case语句,循环for,until,while语句读书笔记

2014-11-01 17:14 826 查看
条件判断语句

使用简单的if语句进行条件判断

if expression

then

statement1

statement2

...

fi

或者

if expression; then

statement1

statement2

...

fi
fli3@SZPC1895 ~

$ if [ -f /bin/bash ]; then

> echo "who are you"

> fi

who are you

空命令 :

fli3@SZPC1895 ~

$ if :; then

> echo "always true"; fi

always true

&&命令

fli3@SZPC1895 ~

$ test "$(whoami)" != "root" && (echo you are using a non-privileged; exit 1)

you are using a non-privileged

使用if else 语句进行流程控制

if expression

then

statement1

statement2

...

else

statement1

statement2

...

fi

使用if elif 语句进行多条件判断

if expression1

then

statement1

statement2

elif expression2

then

statement3

statement4

...

elif expression3

then

statement5

statement6

...

else

statementn

...

fi

使用exit语句退出程序

exit status

status表示退出状态,取值范围为0~255

多条件判断语句case

case variable in

value1)

statement1

statement2

...

statementn;;

value2)

statement1

statement2

...

statementn;;

value3)

statement1

statement2

...

statementn;;

...

valuen)

statement1

statement2

...

statementn;;

*)

statement1

statement2

...

statementn;;

esac

循环语句for
带列表的for循环语句

for variable in {list}

do

statement1

statement2

...

done

#! /bin/bash

for var in 1 2 3 4 5 6 7 8 9 #用这种写法也可以:(for var in {1..8})

do

echo "the number is ${var}."

done

echo "for is over"

----------------------------------------------

fli3@SZPC1895 ~

$ ./for.sh

the number is 1.

the number is 2.

the number is 3.

the number is 4.

the number is 5.

the number is 6.

the number is 7.

the number is 8.

the number is 9.

for is over

设置步长

for variable in {start..end..step} (也可以使用名利例如:${ls}\`ls`)

do

statement1

statement2

...

done

不带列表的for循环语句

如果没有为for循环提供条件列表,Shell将从命令行获取条件列表。不带列表的for循环语句语法如下:

for variable

do

statement1

statement2

...

done

或者

for variable in $@

do

statement1

statement2

...

done

或者

for variable in $*

do

statement1

statement2

...

done

类C风格的循环语句

for ((expression1; expression2; expression3))

do

statement1

statement2

...

done

例如:

#! /bin/bash

for ((i=1;i<5;i++))

do

echo "$i"

done

使用for循环语句处理数组

for variable in ${array[*]}

do

statement1

statement2

...

done

until循环语句

until expression

do

statement1

statement2

...

done

while循环语句

while expression

do

statement1

statement2

...

done

利用break和continue语句控制循环

break中断当前循环,跳出至外一层

continue结束当前循环
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐