본문 바로가기

Develop/Linux

쉘 스크립트 완전정복 - 3 | 배열, 반복문

출처 : http://tbr74.tistory.com/8?category=759026



쉘 스크립트 완전정복 - 3 | 배열, 반복문

2018.07.24 20:46

배열

특이하게 배열 사이에 콤마를 넣지 않는다.

공백이 곧 배열의 원소 구분자.

arr_a=("pro" "std" "free")

arr_b=(1 2 5)


몇 가지 예시들

arr=(a b c d) #문자 숫자 구분이 없는듯

arr[4]=e #배열의 마지막에 e 추가

echo ${arr[@]} # 배열 전체 출력


배열 길이?

echo ${#arr}

# 하나만 써주면 된다.


배열 슬라이싱

머라하는지 사실 모르겠는데 파이썬에서 이거 인덱스 슬라이싱이라 했었다 아니야

arr=20180724

echo ${arr:0:4}

하면 2018만 잘린다.

arr:0:4를 {}로 감싸야한다는거다






반복문 for

VERSION=("a" "b" "c")

for version in ${VERSION[@]}

do

echo $version

done


를 기본으로 보고

세미콜론(;)을 이용해서 줄일 수 있다고 보면 된다

줄이면 아래와 같이 된다


VERSION=("a" "b" "c"); for version in ${VERSION[@]}; do echo $version; done;


# 근데 왜 for version에서는 $변수취급 안하다가 echo 부분만 $붙여야하는지 잘 모르겠다




반복문 while

기본 형식

while [ 1 ]

do

echo "test"

done

# while 이후에 오는 조건문 대괄호 양옆에 띄어쓰기가 있어야한다. [1] 이거 안됨.






---

참고서적: 뇌를 자극하는 RedHat Fedora 리눅스 서버&네트워크