开发四年只会写业务代码,分布式高并发都不会还做程序员?->>>

各位大侠好,问题如下:
Shell脚本:
tmp="" cat ./tmp.txt | while read line do if [[ $line = "total"* ]] then echo ${line} tmp=$line fi echo "line 1" $tmp done echo "line 2" $tmp
./tmp.txt 文件内容
total *******
结果:
line 1 total 32 line 1 total 32 line 1 total 32 line 1 total 32 line 1 total 32 line 1 total 32 line 2
我的问题是,为什么我的变量tmp被清空了呢? 明明我在while循环外边已经声明变量了,如果我想在外部得到while中相应line值,我该怎么办呢?
感谢各位大侠们先。