기본 Bash script 문법

|

사용해본것들 차례차례 추가할 예정..




bash script의 시작은

#!/bin/bash


현재 파일의 내용을 /bin/bash를 사용해서 실행하겠다는 의미.



- 변수 값 지정하기

myVal=MyNameIsHyosang
myVal2="My Name Is Hyosang"

echo $myVal
echo $myVal2

export SHARE_VAL=10


= 양 옆은 space를 넣지 않는다.

공백이 없는 문자열의 경우엔 "를 쓰지 않는다.

사용은 $myVal, $myVal2 으로 한다.

기본적으로 변수를 선언하면 해당 쉘의 프로세스 내에서만 유효하지만 export를 사용하게 되면 child process에서도 변수값을 유효하게 사용할 수 있다.


- 배열 사용하기


myArray=("item1" "item2" "item3")
echo Array Length : ${#myArray[@]}
echo First item : ${myArray[0]}


배열의 초기화는 소괄호 안에 "로 구분하여 공백으로 구분. (컴마(,) 없음)

배열의 갯수는 ${#myArray[@]} 로 가져올 수 있다.

${...}는 변수명을 명시하는 기호(?)인데,

예를 들어 $a 라는 변수가 있을때,


echo $ab


를 사용하게 되면 $ab라는 변수인지, $a 변수 출력 후 b 문자 출력인지 모호하기 때문에


echo ${a}b


으로 사용할 수 있다.




- 조건문

if [ conditions ]; then
...
elif [ conditions ]; then
...
elif [ conditions ]; then
...
else
...
fi



[ ] 양 옆은 반드시 공백이 들어가야 함.

; 문자는 줄바꿈을 나타내는 문자이다.



- 반복문


#while문
while [ conditions ]; do
...
done

#for문
for( ; ; ); do
...
done

for VAL in ARRAY; do
...
done

다른 언어들과 기본적인 이용 방식은 동일하다.

for 문은 초기화/조건/증감의 형태로 사용하는 방식과

foreach 처럼 사용하는 방법 두가지가 있다.




- Conditions

조건문/반복문 등에 들어가는 조건판단문


$a = "a" : $a가 a 문자열인가

! : NOT

$a = "A" -o $a = "a" : $a가 A이거나 a 인가

-e 파일명 : 해당 파일이 존재하는가



- 문자열 자르기



#!/bin/bash

STRING="Test String"

echo $STRING            #Test String
echo ${STRING:0:4}    #Test
echo ${STRING:2:4}    #st S
echo ${STRING:4:-2}  #Stri
echo ${STRING:5}    #String



And