#The statement of for ....do...done
if [! -d $HOME/backup ]
then
mkdir $HOME/backup
fi
flist=`ls`
for file in $flist //flist的值是ls的执行结果即当前目录下的文件名
do
if [ $# = 1 ]
then
if [ $1 = $file ] //命令行上有一个参数时
then
echo "$file found" ; exit
fi
else
cp $file $HOME/backup
echo "$file copied"
fi
done
echo ***Backup Completed******
2. 循环语句while的用法
语法结构:
while 命令或表达式
do
命令表
done
while语句首先测试其后的命令或表达式的值,如果为真,就执行一次循环体中的命令,然后再测试该命令或表达式的值,执行循环体,直到该命令或表达式为假时退出循环。
示例:
#!/bin/bash
I=0
while [ $I -lt 5 ] //-lt = <
do
I=`expr $I + 1`
echo -n "input score:"
read $S
case `expr $S / 10` in
9|10)
echo "A"
;;
6|7|8)
echo "B"
;;
*)
echo "C"
;;
esac
echo "$I"
done
3. 循环控制语句
==break 和 continue==
break n 则跳出n层;continue语句则马上转到最近的一层循环语句的下一轮循环上, continue n 则转到最近n层循环语句的下一轮循环上。
用法:prog7 整数 整数 整数 ... 参数个数不确定,范围为1-10个 ,每个参数都是正整数。
示例:
#!/bin/bash
if [ $# -ne 5 ]
then
echo "argument 5"
exit
fi
for I
do
if [ `expr $I % 2` -eq 1 ]
then
echo "$I"
else
break
fi
done
若是break 的话 ,跳出整个循环。遇到偶数就跳出循环。
#!/bin/bash
if [ $# -ne 5 ]
then
echo "argument 5"
exit
fi
for I
do
if [ `expr $I % 2` -eq 1 ]
then
echo "$I"
else
continue
fi
done