1、顺序结构
(1)以#!/bin/bash 或者是 #!/bin/sh 开头
(2)read -p "提示信息:" 变量名
2、选择结构
(1)if语句
if [空格条件空格] (注:[]代替test)
then
语句
fi [注:起到结束if语句的作用不能不写]
(2)if else 语句
if [空格条件空格]
then
语句
else
语句
fi [注:放到if条件语句的最后,放到else外面]
(3)if else if else if else 语句
if [空格条件空格]
then
语句
elif [空格条件空格]
then [注意:这里需要写then]
语句
...
else
语句
fi
(4)if语句嵌套
if [空格条件空格]
then
语句1
if [空格条件空格]
then
语句2
fi [注:嵌套时也需要加fi来结束嵌套的条件语句]
fi
(5)switch case 语句 [注:[1-9]是否为数字]
case $变量名 in
模式1) [注意:这里的右括号不能省掉]
语句
;; [注意:这里相当于break;]
...
*) [注:这里相当于default]
默认执行的命令序列
;; [注:这里也需要加;;]
esac [注:最后一定不要忘记加上esac来结束case语句]
3、循环结构
(1)for循环[以循环输出1-10为例]
1)for i in $(seq 1 10) [注:seq取两个整数及之间的整数,两边也能取到]
do
echo "$i"
done
2)for i in 1空格2空格3空格..10 [注:每个元素用空格分割]
do
echo "$i"
done
3)for ((i=1;空格$i<=10;空格i++)) [注:这里的i++是let i++]
do
echo "$i"
done
[注意:sleep 命令 后面加时间 单位为秒 表示停顿多长时间shell脚本独有]
(2)while循环
while [空格条件空格]
do
echo "" [注:需要手动加循环体,如let 变量名++]
done
[注意:死循环的写法为 while [空格数字空格] ]
(3)continue、break 和之前用法相同
(4)while read
cat 文件名空格|空格while read 变量名
do
...
done
[注意:在while read里面的变量在外面是拿不到的,循环结束后销毁!!!]