| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | ||
| 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 13 | 14 | 15 | 16 | 17 | 18 | 19 |
| 20 | 21 | 22 | 23 | 24 | 25 | 26 |
| 27 | 28 | 29 | 30 |
Tags
- 리눅스명령어
- linux
- environment
- UnixCommand
- 유닉스명령어
- 터미널
- 자바스크립트
- linuxcommand
- Solaris
- bash
- coreutils
- 시스템관리
- 파일시스템
- tcsh
- terminal
- JavaScript
- UNIX
- 유닉스
- Unix명령어
- PackageManagement
- shell
- 명령어
- 쉘스크립트
- sysadmin
- cups
- php
- 리눅스
- 정규표현식
- js
- 사용자관리
Archives
- Today
- Total
ioerror
=(equal) 사용법 및 옵션 - 문자열 비교 및 조건식 검증 연산자 본문
반응형

= - equal sign operator / ed command
문자열 비교 및 조건식 검증 연산자
유닉스 및 리눅스 환경에서 =는 test([ ]) 명령어 내의 문자열 동등 비교 연산자, 쉘 스크립트에서의 변수 할당, zsh에서의 명령어 실행 경로 확장 기호, 텍스트 편집기 ed/ex에서의 현재 행 번호 출력 명령어로 사용되는 유닉스/리눅스 핵심 기호 및 제어 명령이다.
1. 명령어 용도
- test 또는 [ ] 구문 내에서 두 문자열이 동일한지 비교 검증하는 경우
- 쉘 스크립트에서 변수에 값을 할당하거나 초기화하는 경우
- zsh 쉘에서 명령어의 절대 경로를 동적으로 조회 및 확장하는 경우
- 라인 에디터 ed/ex에서 현재 편집 중인 줄 번호를 확인할 때 사용하는 경우
2. 명령어 서식
Bash
# 1. test / [ ] 조건식에서의 문자열 비교
[ "string1" = "string2" ]
# 2. 쉘 변수 할당
VARIABLE=value
# 3. zsh 명령어 경로 확장
=command
# 4. ed / ex 편집기 라인 번호 확인
=
3. 명령어 옵션
- 주요 옵션 소개 테이블
| 연산/문맥 | 설명 | 사용가능 OS 및 쉘 |
| [ A = B ] | 두 문자열 A와 B가 동일한지 비교하여 참/거짓을 반환하다. | [POSIX/Bash/zsh] |
| [ A == B ] | GNU test 및 Bash 확장 조건식 [[ ]]에서 문자열 일치 여부를 비교하다. | [Linux/Bash/zsh] |
| VAR=value | 변수 VAR에 특정 문자열이나 숫자를 할당하다. | [POSIX/Shell] |
| =cmd | 지정한 명령어 cmd가 위치한 절대 경로(PATH)로 확장하다. | [zsh] |
| = | ed 또는 ex 라인 에디터에서 현재 행 번호를 출력하다. | [POSIX/ed] |
- 명령어 옵션 사용시 결과 예시
Bash
# 1. test([ ]) 구문을 활용한 문자열 비교
if [ "$USER" = "root" ]; then
echo "Root user"
fi
# output: Root user (root 계정 실행 시)
# 2. 쉘 변수 할당 시 공백 주의
MY_VAR="Linux"
echo $MY_VAR
# output: Linux
# 3. zsh 경로 확장 연산자 사용 예시 [zsh]
echo =ls
# output: /bin/ls
# 4. ed 라인 편집기에서 현재 행 번호 출력 [ed]
# ed myfile.txt 실행 중 = 입력 시:
=
# output: 15 (현재 커서가 위치한 라인 번호)
4. 명령어 특이사항(유의사항)
- 비교 연산 시 공백 필수: [ "$a" = "$b" ] 구문에서 = 연산자 양옆에는 반드시 공백이 존재해야 하다. 공백이 누락될 경우([ "$a"="$b" ]) 쉘은 이를 비교문이 아닌 하나의 단일 문자열 할당/검사로 인식하여 항상 참(true)을 반환하는 오류가 발생하다.
- 변수 할당 시 공백 금지: 반대로 변수에 값을 할당할 때(VAR=value)는 = 연산자 양옆에 공백이 없어야 하다. 공백을 넣으면(VAR = value) 쉘은 VAR를 실행할 명령어로 인식하여 command not found 오류를 발생시킨다.
- =와 ==의 차이점: POSIX 표준 test / [ 명령에서는 =가 표준 문자열 비교 연산자이다. Bash의 [[ ]] 구문에서는 ==도 지원하며 패턴 매칭을 제공하지만, 시스템 간 이식성을 위해서는 [ 조건문 내에서 =를 사용하는 것이 권장된다.
관련 명령어들
- test: 파일 타입 검사 및 문자열/수치 비교 조건식을 평가하다.
- expr: 정수 연산 및 문자열 패턴 비교를 수행하다.
- ed: 유닉스 표준 행 기반(Line-oriented) 텍스트 편집기이다.
- which: 실행 명령어의 전체 경로를 검색하여 출력하다.
https://ioerror.tistory.com/entry/UNIX-Linux-Command-Reference
UNIX & Linux Command Reference
유닉스 / 리눅스 명령어 표유닉스와 리눅스 환경에서 자주 사용되는 필수 명령어들을 완벽하게 정리한다. 서버 관리, 프로그래밍, 일상적인 시스템 운영 등 어떤 목적이든 터미널 환경을 능숙하
ioerror.tistory.com
반응형
'OS' 카테고리의 다른 글
| | , |& 사용법 및 옵션 - 명령어 표준 출력을 다른 명령어의 표준 입력으로 연결하는 파이프 연산자 (0) | 2026.08.09 |
|---|---|
| <, >, >> 사용법 및 옵션 - 표준 입출력 리다이렉션(재지정) 연산자 (0) | 2026.08.09 |
| zip 사용법 및 옵션 - 파일 및 디렉터리 압축 및 아카이브 생성 (0) | 2026.08.09 |
| zcat 사용법 및 옵션 - 압축 파일의 내용을 해제 없이 표준 출력으로 조회 (0) | 2026.08.09 |
| xterm 사용법 및 옵션 - X 윈도우 시스템 표준 터미널 에뮬레이터 (0) | 2026.08.09 |
Comments