while CONDITION1;do
cmd1
...
if condition2;then
continue
fi
cmd2
...
done
#/bin/bash
#
declare -i sum=0
declare -i i=0
while [ $i -le 100 ];do
let i++
if [ $[$i%2] -eq 1 ];then
continue
fi
let sum+=$i
done
echo "sum is $sum"
while CONDITION1;do
CMD1
if CONDITION2;then
break
fi
done
while true;do
循環體
done
#!/bin/bash
declare -i sum=0
declare -i i=1
while true;do
let sum+=$i
let i+=2
if [ $i -gt 100 ];then
break
fi
done
echo "sum is $sum"
#!/bin/bash
name=zhangpf
echo $?
sleep 3
done
echo "$(date +"%F-%T") $name logged on" >> /tmp/sleep.log
#!/bin/bash
name=zhangpf
while true;do
if who | grep "^$name\>" &> /dev/null;then
break
fi
sleep 3
done
echo "$(date +"%F-%T") $name logged on" >> /tmp/login.log
while read VARIABLE;do
循環體;
done < /path/to/somefile
#依次讀取/path/to/somefile文件中的每一行,且將基賦值給VARIABLE變量;
#!/bin/bash
while read line;do
id=$(echo $line | cut -d: -f3)
name=$(echo $line | cut -d: -f1)
shell=$(echo $line | cut -d: -f7)
if [ $[$id%2] -eq 1 ];then
echo "$name,$id,$shell."
fi
done < /etc/passwd
for ((控制變量初始化;條件判斷表達式;控制變量的修正語句));do
循環體
done
#!/bin/bash
declare -i sum=0
for ((i=0;i<=100;i++));do
let sum+=$i
done
echo "sum=$sum"
#!/bin/bash
for ((i=1;i<=9;i++));do
for ((j=1;j<=i;j++));do
echo -e -n "${i}X${j}=$[${i}*${j}]\t"
done
echo
done
case $VARIABLE in
PAT1)
分支1
;;
PAT2)
分支2
;;
。。。。
*)
分支n
;;
esac
#!/bin/bash
#version 0.0.1
#author:zhangpf
#date:2016.07
#description:this just a test.
#
prog=$(basename $0)
lockfile=/var/lock/subsys/$prog
case $1 in
start)
if [ -f $lockfile ];then
echo "$prog is running yet."
else
touch $lockfile
[ $? -eq 0 ] && echo "start $prog finished."
fi
;;
stop)
if [ -f $lockfile ];then
rm -f $lockfile
[ $? -eq 0 ] && echo "stop $prog is finished."
else
echo "$prog is not running."
fi
;;
restart)
if [ -f $lockfile ];then
rm -f $lockfile
touch $lockfile
echo "restart $prog finished."
else
touch -f $lockfile
echo "start $prog finished."
fi
;;
status)
if [ -f $lockfile ];then
echo "$prog is running."
else
echo "$prog is stopped."
fi
;;
*)
echo "Usage:$prog {start|stop|restart|status}"
exit 1
esac