控制结构
if语句
if condition;then
elif condition;commandthencommandelsecommandfi
case语句
*value支持元字符(正则表达式)case testVal invalue1)command;;value2)command;;*)command;;esac
for语句
for testValue in lists
do
command
done
until语句
until condition
do
command
done
*循环至少执行一次
while语句
while conditondocommanddone
break、continue
break #跳出所在循环
break n #跳出n层循环
continue
冒号命令和true命令可用于条件永真
do和done之间是循环体,因此多条命令是不需要加大括号或括号
exit语句
每个命令都会返回一个exit状态(return状态),成功为0,错误为非0.shell程序exit返回最后一条命名的状态。
函数
可看作是脚本中的一段代码,但在执行函数时,它保留当前shell和内存信息。此外如果执行或调用一个脚本文件中的另一段代码,将创建一个单独的shell,因而失去所有原脚本中定义的变量。
定义
定义必须在调用之前:
function_name(){}
shift
#!/bin/sh
loop=0
while [ "$#" -ne "0" ]
do
echo $1
shift
done
loop=0
while [ "$#" -ne "0" ]
do
echo $1
shift
done