반응형
if문
(1) 기본 if문
- 대부분의 프로그래밍 언어에서 사용된다.
- 영단어 if 뜻 그대로 [만약에 어떠한 조건이 참이면 실행] 하는 명령문이다.
- 주의해야 할점은 [ 조건 ] 사이의 각 단어에는 모두 공백이 있어야 한다는 것이다.
[기본 if문]
if [ 조건 ]
then
참일 경우 실행
fi
(2) if ~ else 문
- [만약에 어떠한 조건이 참이면 실행] 이라는 if에 else를 추가할 수 있다.
- else를 추가하면 [만약에 어떠한 조건이 참이면 A를 실행하고 거짓이면 B를 실행] 하는 명령어가 가능하다.
if [ 조건 ]
then
[참 - A]
else
[거짓 - B]
fi
- [!=] 비교 연산자를 사용하여 두 문자열이 같지 않으면 참(True)이라는 결과를 출력했다.
- 입력한 ID가 admin이 맞으면 "관리자로 접속했습니다" / admin이 아니면 "일반사용자로 접속했습니다" 문구 출력하기
(3) 비교 연산자
문자열 비교 | |
"문자열1" = "문자열2" | 두 문자열이 같은면 참 |
"문자열1" != "문자열2" | 두 문자열이 같지 않으면 참 |
-n "문자열" | 문자열이 널(빈 문자열)이 아니면 참 |
-z "문자열" | 문자열이 널(빈 문자열)이 이면 참 |
산술비교 | |
[수식1] -eq [수식2] | 두 수식(또는 변수)이 같으면 참 [=] |
[수식1] -ne [수식2] | 두 수식(또는 변수)이 같지 않으면 참 [!=] |
[수식1] -gt [수식2] | 수식1이 크다면 참[ >] |
[수식1] -ge [수식2] | 수식1이 크거나 같은면 참 [>=] |
[수식1] -lt [수식2] | 수식1이 작으면 참 [<] |
[수식1] -le [수식2] | 수식1이 작거나 같으면 참 [<=] |
!수식 | 수식이 거짓이라면 참 |
수식1 -eq 수식2 두 수식(또는 변수)이 같으면 참 =
수식1 -ne 수식2 두 수식(또는 변수)이 같지 않으면 참 !=
수식1 -gt 수식2 수식1이 크다면 참 >
수식1 -ge 수식2 수식1이 크거나 같은면 참 >=
수식1 -lt 수식2 수식1이 작으면 참 <
수식1 -le 수식2 수식1이 작거나 같으면 참 <=
!수식 수식이 거짓이라면 참
- 국어 수학 영어 점수의 평균이 60점 이상이면 합격입니다 / 아닐 경우 불합격입니다 문구 출력하기
#! /bin/bash
echo 이름 : $name ; read name
echo 국어점수 : $kor ; read kor
echo 수학점수 : $mat ; read mat
echo 영어점수 : $eng ; read eng
total=`expr $kor + $mat + $eng`
avg=`expr $total / 3`
if [ "$avg" -gt 60 ]
then
grade=합격입니다
else
grade=불합격입니다
fi
echo 이름 : $name
echo 국어점수 : $kor 수학점수 : $mat 영어점수 : $eng
echo 합격여부 : $grade
exit 0
- ID가 tiene 이고 PW가 1111 일 경우, 로그인 성공 / 아닐 경우 로그인 실패 문구 출력하기
#! /bin/bash
echo ID : $id ; read id
echo PW : $pw ; read pw
if [ "$id" = tiene ]&&[ "$pw" = 1111 ]
then
pass="로그인 성공"
else
pass="로그인 실패"
fi
echo ID : $id
echo PW : $pw
echo 결과 : $pass
exit 0
- 평균이 60점 이상이면서 모든 과목이 40점 이상이면 합격 한 과목이라도 40점 미만이면 불합격 문구 출력하기
#! /bin/bash
echo 이름 : $name ; read name
echo 국어점수 : $kor ; read kor
echo 영어점수 : $eng ; read eng
total=`expr $kor + $eng`
avg=`expr $total / 2`
if [ "$avg" -ge 60 ]&&[ "$kor" -ge 40 ] &&[ "$eng" -ge 40 ]
then
pass="합격"
else
pass="불합격"
fi
echo 이름 : $name
echo 국어점수 : $kor
echo 영어점수 : $eng
echo 평균점수 : $avg
echo 합격여부 : $pass
exit 0
반응형
'IT > ㄴ Linux Shall Script' 카테고리의 다른 글
[Linux] Shell Script - 반복문 [ while / for ] (0) | 2023.07.24 |
---|---|
[Linux] Shell Script - 다중 if 문 / case 문 / 파일 연산자 [ elif/ case] (0) | 2023.07.21 |
[Linux] Shell Script 기초 [echo] (0) | 2023.07.20 |