[bash] for loop

c or linux 2015. 11. 26. 14:53


bash에서 for 루프를 for를 이용해서 사용할 수 있다.


#!/bin/bash

 for i in 01 02 03 04 05 06 07 08 09 10 

  do ./test.sh $i 

done




이를 코드가 아닌 쉘에서 ; 을 이용하여 바로 실행할 수 있다.



$ for i in 01 02 03 04 05 06 07 08 09 10  ; do ./test.sh $i ; done



구간을 쉽게 표현하려면 {}을 이용하여 아래와 같이 할 수 있다.



$ for i in {0..9} ; do echo $i  ; done
0
1
2
3
4
5
6
7
8
9





3씩 간격을 줄 수 있다. 


$ for i in {0..9..3} ; do echo $i  ; done

0

3

6

9




seq를 쓸 수 있다.


$ for i in $(seq 1 9) ; do echo $i  ; done

1

2

3

4

5

6

7

8

9


seq에 간격을 줄 수 있다.


$ for i in $(seq 1 2 20) ; do echo $i  ; done

1

3

5

7

9

11

13

15

17

19



seq 와 xargs를 함께 사용할 수 있다.


$ seq 1 9 | xargs -I {} echo  "{}"

1

2

3

4

5

6

7

8

9


Posted by '김용환'
,