for in 流程控制
语法:
for 变量 in 字符串列表
do
语句
done
注意:字符串列表
1.1 空格间隔的字符串列表 注意双引号在变量中引号无效
空间间隔的变量
空间间隔的字符串列表
select 变量 in 列表
do
done
作用:列表显示菜单
自动输入
变量返回选择的列表中选项
case 值 in
值1)
语句
;;
值2)
语句
;;
语法:
for 变量 in 字符串列表
do
语句
done
注意:字符串列表
1.1 空格间隔的字符串列表 注意双引号在变量中引号无效
空间间隔的变量
空间间隔的字符串列表
1.2 数组
#!/bin/bash
a=(hello you)
#for var in "hello shell program"
for var in ${a[*]}
do
echo :$var
done
#!/bin/bash
if test -z $1
then
workdir=
else
workdir=$1
fi
newfile=
#allfiles=`ls ${workdir}`
allfiles=$(ls ${workdir})
for file in $allfiles
do
newfile=$file
break
done
for file in $allfiles
do
if [[ $newfile -ot $file ]]
then
newfile=$file
fi
done
2.select 流程控制select 变量 in 列表
do
done
作用:列表显示菜单
自动输入
变量返回选择的列表中选项
#!/bin/bash
select var in black white red $'exit'
do
if((${REPLY}==1))
then
echo "black"
fi
if((${REPLY}==2))
then
echo "white"
fi
if((${REPLY}==3))
then
echo "red"
fi
if((${REPLY}==4))
then
break
fi
done
3.case 控制case 值 in
值1)
语句
;;
值2)
语句
;;
esac
#!/bin/bash
select var in red green blue $'exit'
do
case $REPLY in
1)
echo "red"
;;
2)
echo "green"
;;
3)
break
;;
*)
echo "not know"
;;
esac
done