기본적인 프로그래밍(c, java, ...) 에서는 아래와 같이 사용하지만

for(int i =0; i< 10;i++){
    println("hello")
}

bash 에서는 i 의 값이 미리 정해줘야 한다.

for i in 1 2 3 4 5 라고 하면 i 에서는 1 , 2 , 3, 4 , 5를 순차적으로 반복할것이다.

for i in a b c d e 로 한다면 ? i 에는 a, b , c, d, e 가 순차적으로 i에 적용될것이다.

for문이 시작되면 do 와 done 사이에 반복될 내용을 적어주면된다.

기초 문법 (1)

#!/bin/bash
for i in 1 2 3 4 5
do
  echo "hi $i"
done

기초 문법(2)

#!/bin/bash
for i in {1..5}
do
  echo "hello $i"
done

실습

이전의 배열인 array1 을 가지고 for문을 실행 해보자

#!/bin/bash
array1=(a b c d e)

echo "array1[0] = ${array1[0]}"  ## 특정 인덱스의 값 가지고오기
echo "array1[*] = ${array1[*]}" ## 전체 배열의 값 출력
echo "array1[@] = ${array1[@]}" ## 전체 배열의 값 출력
echo "!array1[@] = ${!array1[@]}" ## 전체 배열의 인덱스의 값 출력
echo "#array1[@] size = ${#array1[@]}" ## 배열의 사이즈 크기 출력
echo "#array1[0] = ${#array1[0]}" ## 배열[0] 의 사이즈 크기

#인덱스의 값 
for i in ${!array1[@]}
do
  echo "hi $i"
done

#배열의 모든 값 사용 
for i in ${array1[@]}
do
  echo "hi $i"
done

$ sh dataset_maker.sh
array1[0] = a
array1[*] = a b c d e
array1[@] = a b c d e
!array1[@] = 0 1 2 3 4
#array1[@] size = 5
#array1[0] = 1
hi 0
hi 1
hi 2
hi 3
hi 4
hi a
hi b
hi c
hi d
hi e

'BackEnd > Linux' 카테고리의 다른 글

Bash 프로그래밍 기초 - 파라미터 받아오기  (0) 2019.08.20
Bash 프로그래밍 기초 - If  (0) 2019.08.20
Bash 프로그래밍 기초 - array  (0) 2019.08.19
파일 행 수 세기  (1) 2019.07.09
Postgresql Install & remove  (0) 2019.06.13

+ Recent posts