1. sh 스타일의 for 문
for arg in [list]
do
command...
done
2. C 언어 스타일의 for 문
for (( 초기값; 비교; 증감치 ))
do
참일 때 실행할 실행문
done
# for i in /etc /bin /root /home > do > echo "-- $i Directory --" > ls -ld $i > done -- /etc Directory -- drwxr-xr-x 84 root root 12288 May 1 04:02 /etc -- /bin Directory -- drwxr-xr-x 2 root root 4096 Apr 24 15:20 /bin -- /root Directory -- drwxr-x--- 11 root root 4096 May 1 02:48 /root -- /home Directory -- drwxr-xr-x 7 root root 4096 Apr 30 11:59 /home for (( 초기값; 비교; 증감치 )) do 참일 때 실행할 실행문 done - for 문 하나로 되어있는 단순 for문 형태 # for((j=5; i <= 5; i++)) > do > echo "i = $i , j = $j" > done i = 1 , j = 5 i = 2 , j = 5 i = 3 , j = 5 i = 4 , j = 5 i = 5 , j = 5 - for 문 안에 if 문이 들어갈 수 있는 예제 - 반복문 (for, while, until 문에서 break 를 만나면 반복문을 탈출한다.) # for i in 1 2 3 4 5 > do > if [ $i -eq 2 ]; then > break > fi > > echo $i > done 1 - for 문 안에 for 문이 들어간 예제 ( 이중 for문 ) - sh 형식의 이중 for문 # for i in 1 2 3 > do > for j in 1 2 3 > do > echo "i = $i, j = $j" > done > done i = 1, j = 1 i = 1, j = 2 i = 1, j = 3 i = 2, j = 1 i = 2, j = 2 i = 2, j = 3 i = 3, j = 1 i = 3, j = 2 i = 3, j = 3 - for 문 안에 for 문이 들어간 예제 ( 이중 for문 ) - C 스타일의 이중 for문 여러분이 직접 코드를 작성해서 아래 결과를 출력하세요. i = 1, j = 1 i = 1, j = 2 i = 1, j = 3 i = 2, j = 1 i = 2, j = 2 i = 2, j = 3 i = 3, j = 1 i = 3, j = 2 i = 3, j = 3
===================================================================== LAB> 아래 출력 결과에 대한 소스를 작성하시오. -- 조건 -- 1. 이중 for 문을 이용할 것 2. sh 스타일과 C 스타일로 작성할 것 - C 스타일의 파일명 : gugudan.sh - sh 스타일의 파일명 : gugudan2.sh -- 조건 -- -- 출력 결과 -- 2 x 1 = 2 3 x 1 = 3 4 x 1 = 4 2 x 2 = 4 3 x 2 = 6 4 x 2 = 8 2 x 3 = 6 3 x 3 = 9 4 x 3 = 12 : : : : : : 2 x 9 = 18 3 x 9 = 27 4 x 9 = 36 -- 출력 결과 -- -- gugudan.sh -- #!/bin/sh for((i=1; i <= 9; i++)) do for((j=2; j <= 4; j++)) do res=$((j * i)) printf "$j x $i = $res\t" done echo done -- gugudan.sh -- -- gugudan2.sh -- #!/bin/sh for i in `seq 9` do for j in `seq 2 4` do res=$((j * i)) printf "$j x $i = $res\t" done echo done -- gugudan2.sh -- ===================================================================== ===================================================================== LAB> 아래 출력 결과에 대한 소스를 작성하시오. -- 조건 -- 1. 이중 for문을 이용할 것 2. sh 스타일과 C 스타일로 작성할 것 - C 스타일의 파일명 : star.sh - sh 스타일의 파일명 : star2.sh -- 조건 -- -- 출력 결과 -- * ** *** **** ***** -- 출력 결과 -- -- star.sh -- #!/bin/sh for((i=1; i<=5; i++)) do for((j=1; j<=i; j++)) do printf '*' done echo done -- star.sh -- -- star2.sh -- sh 스타일은 여러분들이 직접 짜보세요!!! -- star2.sh -- =====================================================================
'Linux > 쉘스크립트' 카테고리의 다른 글
내부 변수(Internal Variables) (0) | 2015.05.12 |
---|---|
until과 위치 매개변수 사용 (0) | 2015.05.11 |
4. 테스트와 분기(Testing and Branching) (0) | 2015.05.04 |
3. 비교 연산자(이진) (0) | 2015.05.04 |
2. 파일 테스트 연산자 (0) | 2015.05.04 |