728x90
반응형
jenkins로 라즈베리파이 서버에 서버사이드 api 프로젝트를 배포할때 기존에 실행되고 있는 jar process가 존재한다면 kill하고 새로 배포한 jar를 실행하는 shell script를 만들어서 jenkins에서 빌드가 성공적으로 되었다면 shell script를 실행하도록 하였다.
실행되고 있는 jar process가 존재하는지 체크하기 위해서 shell script에서 if문을 사용하였는데 if문을 정리 해보았다.
1. if문
if [ 조건절 ]
then
실행절
fi
주의 해야하는 점은 if와 괄호( [,] )와 조건절 사이의 공백을 만들어야 정상적으로 실행된다.
예시
value=0
if [ $value -eq 0 ]
then
echo "0입니다"
fi
아래와 같이 if와 then을 같은 줄에 작성할 수도 있다
if [ 조건절 ]; then
실행절
fi
2. if else문
if [ 조건절 ]
then
실행절
else
실행절
fi
예시
value=1
if [ $value -eq 0 ]
then
echo "0입니다"
else
echo "0이 아닙니다"
fi
3. if elif else 문
if [ 조건절 ]
then
실행절
elif [ 조건절 ]
then
실행절
else
실행절
fi
예시
value=1
if [ $value -gt 10 ]
then
echo "10보다 큽니다"
elif [ $value -lt 5 ]
then
echo "5보다 작습니다"
else
echo "5~10 사이입니다"
fi
4. 조건문 연산자
연산자 | 사용예시 | 설명 (True가 되는 조건) |
-n 문자열 | [ -n $CURRENT_PID ] | 문자열의 길이가 0보다 클 때 |
-z 문자열 | [ -z $CURRENT_PID ] | 문자열의 길이가 0일 때 |
문자열1 = 문자열2 | [ $string1 = $string2 ] | 두 문자열이 서로 같을 때 |
문자열1 != 문자열2 | [ $string1 != $string2 ] | 두 문자열이 서로 다를 때 |
정수1 -eq 정수2 | [ $int1 -eq $int2 ] | 두 정수가 서로 같을 때 |
정수1 -gt 정수2 | [ $int1 -gt $int2 ] | 정수1이 정수2보다 클 때 |
정수1 -lt 정수2 | [ $int1 -lt $int2 ] | 정수1이 정수2보다 작을 때 |
-d 디렉토리 | [ -d $directory ] | 해당 디렉토리가 존재할 때 |
-e 파일 | [ -e $file ] | 해당 파일이 존재할 때 |
조건절 && 조건절 | [ $int1 -eq $int2 ] && [ $int3 -eq $int4 ] | 두 조건절을 모두 만족할 때 |
조건절 || 조건절 | [ $int1 -eq $int2 ] || [ $int3 -eq $int4 ] | 두 조건절 중 하나라도 만족할 때 |
!조건절 | [ ! $int1 -eq $int2 ] | 조건절을 만족하지 않을 때 |
참고자료
https://m.blog.naver.com/cjh226/220997193796
728x90
반응형
'개발 > 리눅스' 카테고리의 다른 글
[CentOS7] [Spring Boot] [WebSocket] WebSocket Server 연결안되는 현상 (0) | 2024.06.13 |
---|---|
[리눅스] service 등록 방법 (0) | 2024.04.03 |
[Ubuntu] Openjdk 21 설치방법(java version upgrade) (0) | 2023.12.05 |
nohup, &, 표준입출력 리다이렉션 (0) | 2022.12.15 |
sh bash 차이점 (0) | 2022.12.14 |