[Shell] 02. 산술연산과 비교연산

Date:     Updated:

카테고리:

태그:


01) test 명령


파일/디렉터리의 존재 유무 판단, 문자열 비교, 숫자 비교를 하기 위해 사용하는 명령으로 주로 IF 문에서 많이 사용하고 조건에 대한 참, 거짓 [ CONDITION ] 형식으로 많이 사용


a) 명령 형식

test CONDITION 또는 [ CONDITION ]


b) 조건 (Condition)


■ 파일에 대한 조건

조건 설명
-b filename 파일이 존재하고 block special 파일이면 참
-c filename 파일이 존재하고 character special 파일이면 참
-d filename 파일이 존재하고 디렉토리가 존재하면 참
-e filename 파일이 존재하면 참
-f filename 파일이 존재하고 정규 파일이면 참
-g filename 파일이 존재하고 setgid가 적용되어 있으면 참
-k filename 파일이 존재하고 sticky bit가 적용되어 있으면 참
-L filename 파일이 존재하고 심볼릭 링크면 참
-p filename 파일이 존재하고 named pipe 파일이면 참
-r filename 파일이 존재하고 읽기 권한이 있다면 참
-w filename 파일이 존재하고 쓰기 권한이 있다면 참
-x filename 파일이 존재하고 실행 권한이 있다면 참
-s filename 파일이 존재하고 파일크기가 0 byte 보다 크다면 참
-S filename 파일이 존재하고 Socket 파일이면 참


■ 문자열에 대한 조건

조건 설명
문자열1 = 문자열2 문자열1과 문자열2가 같다면 참
문자열1 != 문자열2 문자열1과 문자열2가 다르다면 참
-z 문자열 문자열 길이가 0이라면 참
-n 문자열 문자열 길이가 0이 아니라면 참


■ 숫자에 대한 조건

조건 설명
N1 -eq N2 N1과 N2의 숫자가 같다면 참
N1 -ne N2 N1과 N2의 숫자가 다르면 참
N1 -ge N2 N1이 N2보다 크거나 같다면 참
N1 -gt N2 N1이 N2보다 크다면 참
N1 -le N2 N1이 N2보다 작거나 같다면 참
N1 -lt N2 N1이 N2보다 작다면 참


02) expr 명령


정수 계산을 하기 위해 사용되는 명령


a) 명령 형식

expr 정수1 연산기호 정수2
연산자 설명
+ 더하기 연산
- 빼기 연산
* 곱하기 연산
/ 나누기 연산
% 나머지 연산


b) 예제

$ expr 1 + 2
3

$ expr 3 - 4
-1

$ expr 4 \* 3
12

$ expr 4 / 3
1

$ expr 4 % 3
1

$ A=`expr 1 + 2`

$ echo $A
3


03) bc 명령


expr 명령처럼 수치 연산을 하기 위해 사용되는 명령

  • expr은 bash 내장 명령어로 정수만 연산 가능하고, 연산 기호와 정수 사이에 반드시 공백을 두어야 한다.

  • bc는 복잡한 공학용 산술과 실수 계산이 가능하고, 산술식 뒤에 파이프라인 (|)으로 계산식을 넘겨서 처리한다.


연산자 설명
+ 더하기 연산
- 빼기 연산
* 곱하기 연산
/ 나누기 연산
% 나머지 연산
scale=N 소수점 자리수


a) 예제

$ echo '1+2' | bc
3

$ echo '3-4' | bc
-1

$ echo '4*3' | bc
12

$ echo '4/3' | bc
1

$ echo '4/3' | bc -l
1.33333333333333333333

$ echo 'scale=3;4/3' | bc -l
1.333

$ echo '4%3' | bc
1

BASH 카테고리 내 다른 글 보러가기

댓글 남기기