728x90
쉘에서 사용하는 다양한 연산자인 논리,산술,비트,기타,비교 연산자에 대해서 알아보자
논리 연산자(Logical Operators)
문자 | 설명 |
---|---|
&&, -a | 논리 AND |
||, -o | 논리 OR |
산술 연산자(Arithmetic Operators)
문자 | 설명 |
---|---|
+ | 더하기 |
- | 빼기 |
* | 곱하기 |
/ | 나누기 |
** | 누승(exponentiation), 거듭제곱(power) |
% | modulo 나 mod (정수 나누기에서 나머지 값) |
+= | 상수값 만큼 증가(plus-equal) |
-= | 상수값 만큼 감소(minus-equal) |
*= | 상수값을 곱함(times-equal) |
/= | 상수값으로 나눔(slash-equal) |
%= | 상수값으로 나눈 나머지 값(mod-equal) |
비트 연산자(Bitwise Operators)
문자 | 설명 |
---|---|
<< | 비트 왼쪽 쉬프트(쉬프트 한 번당 2를 곱하는 것과 동일함) |
<<= | left-shift-equal |
>> | 비트 오른쪽 쉬프트(쉬프트 한 번당 2로 나눔) |
>>= | right-shift-equal(<<=와 반대) |
& | 비트 and |
&= | 비트 and-equal |
| | 비트 OR |
|= | 비트 OR-equa |
~ | 비트 negate |
! | 비트 NOT |
^ | 비트 XOR |
^= | 비트 XOR-equa |
기타 연산자(Miscellaneous Operators)
문자 | 설명 |
---|---|
, | 콤마 연산자(comma operator), 2개 이상의 산술 연산을 묶어줌 |
정수 비교(Integer Comparison)
문자 | 설명 |
---|---|
-eq | 같음 |
-ne | 같지 않음 |
>, -gt | 더 큼(> 이중 소괄호에서 사용 가능) |
>=, -ge | 더크거나 같음(>= 이중 소괄호에서 사용 가능) |
<, -lt | 더 작음(< 이중 소괄호에서 사용 가능) |
<=, -le | 더 작거나 같음(<= 이중 소괄호에서 사용 가능) |
문자열 비교(String Comparison)
문자 | 설명 |
---|---|
=, == | 같음 |
!= | 같지 않음 |
< | ASCII 알파벳 순서에 더 작음 |
> | ASCII 알파벳 순서에서 더 큼 |
-z | 문자열이 NULL, 길이가 0인 경우 |
-n | 문자열이 NULL이 아님 |
${변수} | 문자열이 NULL이 아님 |
파일 비교(File test operators)
문자 | 설명 |
---|---|
-e | 파일이 존재 |
-f | 파일이 존재하고 일반 파일인 경우(디렉토리 혹은 장치파일이 아닌 경우) |
-s | 파일이 존재하고 0보다 큰 경우 |
-d | 파일이 존재하고 디렉토리인 경우 |
-b | 파일이 존재하고 블록장치 파일인 경우 |
-c | 파일이 존재하고 캐릭터 장치 파일인 경우 |
-p | 파일이 존재하고 FIFO인 경우 |
-h | 파일이 존재하고 한 개 이상의 심볼릭 링크가 설정된 경우 |
-L | 파일이 존재하고 한 개 이상의 심볼릭 링크가 설정된 경우 |
-S | 파일이 소켓 디바이스인 경우 |
-t | 파일이 디스크립터가 터미널 디바이스와 연관이 있음 |
-r | 파일이 존재하고 읽기 가능한 경우 |
-w | 파일이 존재하고 쓰기가 가능한 경우 |
-x | 파일이 존재하고 실행 가능한 경우 |
-g | 파일이 존재하고 SetGID가 설정된 경우 |
-u | 파일이 존재하고 SetUID가 설정된 경우 |
-k | 파일이 존재하고 스티키 비트(Sticky bit)가 설정된 경우 |
-O | 자신이 소유자임 |
-G | 그룹 아이디가 자신과 같음 |
-N | 마지막으로 읽힌 후에 변경 됐음 |
file1 -nt file2 | file1 파일이 file2 파일보다 최신임 |
file1 -ot file2 | file1 파일이 file2 파일보다 예전것임 |
file1 -ef file2 | file1 파일과 file2 파일이 같은 파일을 하드 링크하고 있음 |
! | 조건이 안 맞으면 참(예: ! -e file) |
반응형
그리드형
'IT > 리눅스 (Linux)' 카테고리의 다른 글
[리눅스] vim 사용법 - 생성, 입력 등 필수 내용 속성 공부 (0) | 2022.03.07 |
---|---|
[리눅스] 패키지 프로그램 설치/관리 (rpm, yum) (0) | 2022.03.07 |
쉘 스크립트(Shell Script) - 확장 매개 변수 (0) | 2022.02.17 |
쉘 스크립트(Shell Script) - 특수 매개 변수[$$, $?, $!, $-, $_] (0) | 2022.02.17 |
쉘 스크립트(Shell Script) - 위치 매개 변수[$0, $1, $*, $@, $#] (0) | 2022.02.17 |
댓글