[강좌][shell] for 구문에 대하여
======================================================================
SHELL PROGRAMMING [5] for 구문
본 강좌는 본인의 허락없이 무단 복사하거나 타 사이트에 등록하는것을
금지 합니다. – 서진우(alang at sysmng.com)
======================================================================
5.1 for 구문
쉘 프로그래밍에서 사용되는 for 구문은 일반적인 프로그래밍에서
사용되는 for 구문과는 형태가 약간 다르다.
형식 —————————————-
for 변수 in list1 list2 list3 ……
do
실행구문
done
———————————————
‘in’ 뒤에 나오는 list 들이 차례로 변수값으로 하나씩 들어가면서
순차적으로 실행구문이 실행되어 진다.
주의점 : list 사이는 반드시 space 로 구분지어져야 한다.
예제 —————————————
#!/bin/sh
A=`ls *.htm`
for B in `echo $A`
do
mv $B ${B}l
done
——————————————-
위 예제는 현 디렉토리에서 확장자가 .htm 인 파일을 모두 확장자가
.html 로 변환 시킨다.
위 예문에서 A 변수값을 ` 으로 묶었는데 “ 은 프로그램의 결과값을
대응값으로 저장할때 사용된다. “” 나 ” 는 이 안에 묶인 내용을 그
대로 대응하는것이다. 혼돈 없길 바란다.
Unix 나 리눅스에서 echo 는 여러개의 space 나 TAB,ENTER 등을 하나
의 space 로 바꾸는 기능이 있어서 for 문의 in 뒤에 list 를 나열할
때 매우 유용히 사용되어 진다.
위 예문에서 ${B}l 이란 부분이 있는데 이는 리눅스 쉘에서 문자처리
에 관련된 부분으로 $Bl 이라고 하면 단순히 Bl 로 정의된 변수로 인
식하기 때문에 ${B}l 로서 변수값과 문자가 합쳐지는것을 구분하도록
하는것이다.