OS & Program/Shell Script

while 문을 이용해 줄단위로 읽을 때 중요한 차이점

nabiro@gmail.com 2013. 7. 23. 11:36

*
* 검색어: while, nabiro, line, read, 줄단위, csh, 재귀적 호출, 변수
* 문서번호: 201307231119
*

 

아래의 shell script 만들어서 실행해보시면 while read line 문이 내부 변수를 전역변수로 처리할 때와 지역변수로 처리할 때의 차이점을 알 수 있습니다. 

 

 

#!/bin/bash

export str="abc"

 

echo " "
echo "--------------------------------------------------"
echo "while 문의 내부 변수가 지역변수로 처리되는 경우"
echo "--------------------------------------------------"
echo " "
echo "str=$str"
echo " "

 

cat "homedir.lst" | while read line
do
    echo "line=${line}"
    str=$line
done

 

echo " "
echo "while문 종료 후"
echo "str=${str}"


echo " "
echo "--------------------------------------------------"
echo "while 문의 내부 변수가 전역변수로 처리되는 경우"
echo "--------------------------------------------------"
echo " "
echo "str=$str"
echo " "

 

while read line
do
    echo "line=${line}"
    export str=$line
done < "homedir.lst"

 

echo " "
echo "while문 종료 후"
echo "str=${str}"