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结束当前循环
使用简单的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结束当前循环
相关文章推荐
- Shell 脚本之循环语句(for,while,until)以及case,select,break,continue实例详解
- [shell基础]——if/for/while/until/case 语句
- linux shell 流程控制(条件if,循环【for,while】,选择【case】语句实例
- linux shell 流程控制(条件if,循环【for,while】,选择【case】语句实例
- shell 控制语句(if,for,while,case)
- linux shell 流程控制(条件if,循环【for,while】,选择【case】语句实例
- linux shell 流程控制(条件if,循环【for,while】,选择【case】语句实例
- linux shell 流程控制(条件if,循环【for,while】,选择【case】语句实例
- shell编程控制结构:expr、let、for、while、until、shift、if、case、break、continue、函数、select
- linux shell 流程控制(条件if,循环【for,while】,选择【case】语句实例
- linux shell 流程控制(条件if,循环【for,while】,选择【case】语句实例
- Shell脚本中循环语句for,while,until用法
- linux shell 流程控制(条件if,循环【for,while】,选择【case】语句实例
- linux shell 流程控制(条件if,循环【for,while】,选择【case】语句实例
- linux shell 流程控制(条件if,循环【for,while】,选择【case】语句实例
- linux shell 流程控制(条件if,循环【for,while】,选择【case】语句实例
- orcl中的赋值语句,case,if elsif,while 循环,for
- linux shell 流程控制(条件if,循环【for,while】,选择【case】语句实例
- linux shell 流程控制(条件if,循环【for,while】,选择【case】语句实例
- Shell中的循环语句for、while、until实例讲解