RedJini Blog

뒤로 검색

[shell script] 배열(Array) 사용하기

2014/01/10 19:36

참고 : http://wiki.redjini.com/linux/script

배열(Array) : 선언하기

array_name_1=("value 1" "value 2" "value 3")
array_name_2=(1 2 3)

배열(Array) : 참조하기

array_name=("value 1" "value 2" "value 3")

echo "array_name[0]     = ${array_name[0]}"  #print array_name[0]
echo "array_name[2]     = ${array_name[2]}"  #print array_name[2]
echo "array_name[*]     = ${array_name[*]}"  #print array_name all item
echo "array_name[@]     = ${array_name[@]}"  #print array_name all item
echo "array_name index  = ${!array_name[@]}" #print array_name index number
echo "array_name size   = ${#array_name[@]}" #print array_name size
echo "array_name[0] size= ${#array_name[0]}" #print array_name[0] size

출력 결과

array_name[0]     = value 1
array_name[2]     = value 3
array_name[*]     = value 1 value 2 value 3
array_name[@]     = value 1 value 2 value 3
array_name index  = 0 1 2
array_name size   = 3
array_name[0] size= 7

배열(Array) : 크기 구하기

array_name_1=("value 1" "value 2" "value 3")

echo ${#array_name_1[@]}  #print "3"

배열(Array) : 출력하기

array_name=("value 1" "value 2" "value 3")

echo "array = ${array_name[@]}"
# 출력 결과
# array = value 1 value 2 value 3

printf "value = %s\n" "${array_name[@]}"
# 출력 결과
# value = value 1
# value = value 2
# value = value 3

for value in "${array_name[@]}"; do
    echo $value
done
# 출력 결과
# value 1
# value 2
# value 3

for (( i = 0 ; i < ${#array_name[@]} ; i++ )) ; do
    echo "value[$i] = ${array_name[$i]}"
done
# 출력 결과
# value[0] = value 1
# value[1] = value 2
# value[2] = value 3

for index in ${!array_name[*]} ; do
    printf "%4d: %s\n" "$index" "${array_name[$index]}"
done
# 출력 결과
#   0: value 1
#   1: value 2
#   2: value 3

 

Tags

array, Linux, script, shell
이 페이지는 Textcube 1.9.3 : poco a poco 로 구동됩니다 데스크탑 화면