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