bash的for循环从命令读取值

bash的for循环可以很方便地从命令读取值,还可以指定分割值

下面的程序可以打印文件的内容,前面加上行号

#!/bin/bash
# 打印每一行的内容,前面加行号
filename="/home/wxp/LatexTemplate/buildtex.sh"
# 将换行符号作为分割符号
IFSOLD=$IFS
IFS=$'\n'
# 注意for循环中的是反引号,不是单引号
LineNum=00
for CLine in `cat $filename`
do
	# 循环中可以使用[]进行数学运算
	LineNum=$[$LineNum+01]
	#if中判断是否小于10,如果小于10就加空格
	if [ $LineNum -lt 10 ]
	then
		num="0$LineNum"
	else
		num=$LineNum
	fi
	echo "$num:$CLine"
done
# 还原默认的分割符号
IFS=$IFSOLD

实际打印文件的方法很多,上面的例子只是为了说明如何使用bash而已


 

posted @ 2013-08-03 22:33  jlins  阅读(373)  评论(0编辑  收藏  举报