while 命令 do 命令1 命令2 ... done
<span style="font-size:12px;">while 命令
do
命令1
命令2
...
done</span>
while循环计数
#!/bin/bash #while test iCounter=0 while [ $iCounter -lt 5 ] do iCounter=`expr $iCounter + 1` echo $iCounter done
<span style="font-size:12px;">#!/bin/bash
#while test
iCounter=0
while [ $iCounter -lt 5 ]
do
iCounter=`expr $iCounter + 1`
echo $iCounter
done</span>
使用while循环读键盘输入
#!/bin/bash #while test echo "type <CTRL-D> to terminate" echo -n "enter your most liked file:" while read FILE do echo "yeah , great file the $FILE" done
<span style="font-size:12px;">#!/bin/bash
#while test
echo "type <CTRL-D> to terminate"
echo -n "enter your most liked file:"
while read FILE
do
echo "yeah , great file the $FILE"
done</span>
用while循环从文件中读取数据
#/bin/bash while read LINE do echo $LINE done < awktest.txt
<span style="font-size:12px;">#/bin/bash
while read LINE
do
echo $LINE
done < awktest.txt
</span>
使用IFS读文件
#/bin/bash #处理条目之间的分号等 SAVEIFS=$IFS IFS=":" while read NAME AGE NUM do echo -e "$NAME\t $AGE\t $NUM" done < awktest.txt IFS=$SAVEIFS
<span style="font-size:12px;">#/bin/bash
#处理条目之间的分号等
SAVEIFS=$IFS
IFS=":"
while read NAME AGE NUM
do
echo -e "$NAME\t $AGE\t $NUM"
done < awktest.txt
IFS=$SAVEIFS</span>
消除文件的#所在行
#!/bin/bash #忽略文件中的#行 INPUT_FILE="ignore.txt" if [ -s $INPUT_FILE ]; then while read LINE do case $LINE in \#*) continue ;; *) echo $LINE ;; esac done < $INPUT_FILE else echo "please input a file which is not empty" exit 1 fi