Programming/Shell Script

[Bash] Shell Script 문법

Plone 2023. 7. 5. 00:51

변수선언방법

#!/bin/bash

#변수
test1=hello
test2=world

echo ${test1} ${test2}

#배열
test3=("kim" "han" "lee")

echo ${test3[@]}

#배열추가
test3+=("shin")

echo ${test3[@]}

 

비교 연산자

[ -z ] : 문자열의 길이가 0이면 참
[ -n ] : 문자열의 길이가 0이 아니면 참
[ -eq ] : 값이 같으면 참
[ -ne ] : 값이 다르면 참
[ -gt ] :  값1 > 값2
[ -ge ] : 값1  >= 값2
[ -lt ] : 값1 < 값2
[ -le ] : 값1 <= 값2
[ -a ] : &&연산과 동일 and 연산
[ -o ] : ||연산과 동일 xor 연산
[ -d ] : 파일이 디렉토리면 참
[ -e ] : 파일이 있으면 참
[ -L ] : 파일이 심볼릭 링크면 참
[ -r ] : 파일이 읽기 가능하면 참
[ -s ] : 파일의 크기가 0 보다 크면 참
[ -w ] : 파일이 쓰기 가능하면 참
[ -x ] : 파일이 실행 가능하면 참
[ 파일1 -nt 파일2 ]  : 파일1이 파일2보다 최신파일이면 참
[ 파일1 -ot 파일2 ]  : 파일1이 파일2보다 이전파일이면 참
[ 파일1 -ef 파일2 ] : 파일1이 파일2랑 같은 파일이면 참

 

if문

#!/bin/bash

number1=1

#숫자를 비교할때는 조건식을 사용
if [number -eq 1]; then
    echo ""
fi
if [number -ne 1]; then
    echo ""
fi


number2="1"
#문자를 비교할때는 연산자를 사용
if [number = "1"]; then
    echo ""
fi

if [number =! "1"]; then
    echo ""
fi

#변수끼리의 비교에서도 아래와 같다
test1="123"
test2="123"
test3=123
test4=123

#문자열 변수끼리 비교
if [${test1} = ${test2}]; then
    echo ""
fi

#정수형 변수끼리 비교
if [${test3} -eq ${test4}]; then
    echo ""
fi

#정수형 변수와 문자형 변수  비교
if [${test1} = "${test3}"]; then
    echo ""
fi


#and
if [${test3} -eq ${test4} -a ${test1} = "${test3}"]; then
    echo ""
fi

#or
if [${test3} -eq ${test4} -o ${test1} = "${test3}"]; then
    echo ""
fi

 

for문

#!/bin/bash

#배열을 차례대로 출력
array=(1 2 3 4 5)
for value in "${array[@]}"
do
  echo ${value}
done

#1에서 10까지 순차적 출력
for value in {1..10}
do
  echo ${value}
done

#ABC 차례대로 출력
list="A B C" 
for value in ${list}
do
  echo ${value}
done

 

while문

#!/bin/bash

number=10

#10까지 +1씩 하면서 반복
while [ ${number} -eq 10 ]
do
    echo ${number}
    number=$((${numver}+1))
done