| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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
- Unix명령어
- shell
- JavaScript
- 터미널
- coreutils
- tcsh
- 리눅스명령어
- PackageManagement
- 사용자관리
- Solaris
- environment
- 파일시스템
- js
- 자바스크립트
- linux
- UnixCommand
- bash
- 쉘스크립트
- 리눅스
- 시스템관리
- 유닉스
- sysadmin
- php
- UNIX
- 유닉스명령어
- 정규표현식
- terminal
- 명령어
- cups
- linuxcommand
Archives
- Today
- Total
ioerror
;(세미콜론) 사용법 및 옵션 - 명령어 순차 실행 및 구문 구분 제어 기호 본문
반응형

;(semiconlon) - command separator operator
명령어 순차 실행 및 구문 구분 제어 기호
세미콜론(;)은 유닉스 및 리눅스 쉘(Shell) 환경에서 한 줄에 여러 개의 명령어를 연속해서 순차적으로 실행하거나, if, for, case 등 쉘 제어문 구문에서 줄바꿈을 대신하여 문장을 구분하는 핵심 제어 기호이다. 이전 명령어의 성공 또는 실패 여부(종료 상태 코드)와 관계없이 다음 명령어를 무조건 이어서 실행하는 특징을 가진다.
1. 명령어 용도
- 사용가능 OS, Shell: POSIX 호환 모든 유닉스 및 리눅스 쉘 (bash, zsh, ksh, sh, csh 등)
- 한 줄의 터미널 커맨드 라인에서 여러 시스템 관리 명령어를 순차적으로 연속 실행하는 경우
- if-then-else, for-do-done, while 등 쉘 스크립트 제어문 구문을 한 줄로 단축 작성하는 경우
- 중괄호 기반 명령어 그룹화({ cmd1; cmd2; }) 및 case 조건문의 블록 종료 및 제어 문자로 활용하는 경우
2. 명령어 서식
Bash
# 1. 다중 명령어 순차 실행
command1 ; command2 ; command3
# 2. 제어문 구문 단축 한 줄 작성
if condition ; then command ; fi
# 3. 중괄호 명령어 그룹화
{ command1 ; command2 ; }
3. 명령어 옵션
- 주요 옵션 소개 테이블
| 연산자/구문 | 설명 | 사용가능 OS 및 쉘 |
| cmd1 ; cmd2 | cmd1 실행 완료 후 성공/실패 여부와 관계없이 cmd2를 순차 실행하다. | [POSIX/Shell] |
| ; (중괄호 내) | { cmd; } 그룹화 구문 내에서 마지막 명령어 뒤에 반드시 포함해야 하는 구문 종료 기호이다. | [POSIX/Shell] |
| ;; | case 조건문에서 각 패턴 블록의 실행 종료(break)를 나타내다. | [POSIX/Shell] |
| ;& | case 조건문에서 다음 패턴의 실행 블록으로 연속 진행(fallthrough)하다. | [Bash 4.0+/zsh] |
| ;;& | case 조건문에서 다음 패턴들과의 조건 검사를 계속 진행하다. | [Bash 4.0+/zsh] |
- 명령어 옵션 사용시 결과 예시
Bash
# 1. 다중 명령어 연속 실행 (이전 명령어의 실패 여부와 무관하게 모두 실행)
echo "Start" ; ls /non_existent_dir ; echo "End"
# output:
# Start
# ls: cannot access '/non_existent_dir': No such file or directory
# End
# 2. 한 줄 for 반복문 작성에 세미콜론 활용
for i in 1 2 3 ; do echo "Number: $i" ; done
# output:
# Number: 1
# Number: 2
# Number: 3
# 3. 중괄호 그룹화 구문 및 리다이렉션 결합
{ date ; hostname ; } > info.txt
cat info.txt
# output:
# Sun Aug 9 16:43:47 KST 2026
# my-server-host
# 4. case 문에서의 fallthrough 연산자(;&) 사용 [Bash 4.0+/zsh]
VAR="A"
case $VAR in
A) echo "Matched A" ;&
B) echo "Matched B (fallthrough)" ;;
esac
# output:
# Matched A
# Matched B (fallthrough)
4. 명령어 특이사항(유의사항)
- && (AND 연산자)와의 차이점: cmd1 ; cmd2 구문은 cmd1이 실패하더라도 cmd2를 항상 실행하지만, cmd1 && cmd2 구문은 cmd1이 성공(종료 코드 0)할 때만 cmd2를 실행한다. 예를 들어 cd /target_dir ; rm -rf * 구문 사용 시 cd에 실패하면 현재 위치의 파일이 삭제되는 위험이 있으므로, 안전한 처리를 위해 cd /target_dir && rm -rf * 형태를 권장하다.
- 중괄호 그룹화 구문 필수 세미콜론: 소괄호 기반 서브쉘 ( echo A; echo B )과 달리, 현재 쉘 환경에서 실행되는 중괄호 그룹화 { echo A; echo B; } 구문은 마지막 명령어 뒤와 닫는 중괄호(}) 사이에 반드시 세미콜론(;) 또는 줄바꿈이 존재해야 구문 오류가 발생하지 않다.
- 비동기 백그라운드 연산자(&)와의 차이점: 세미콜론(;)은 앞선 명령어의 작업 완료를 기다린 후 다음 명령어를 실행하는 동기식 구문 구분자이다. 반면 & 연산자는 명령어를 백그라운드로 보낸 후 즉시 다음 명령어를 비동기 실행하다.
관련 명령어들
- &&: 이전 명령어의 실행이 성공했을 때만 다음 명령어를 실행하다.
- ||: 이전 명령어의 실행이 실패했을 때만 다음 명령어를 실행하다.
- &: 명령어를 백그라운드 프로세스로 비동기 실행하다.
- case: 여러 패턴에 따라 조건 분기 처리를 수행하는 쉘 제어문이다.
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 |
| =(equal) 사용법 및 옵션 - 문자열 비교 및 조건식 검증 연산자 (0) | 2026.08.09 |
| zip 사용법 및 옵션 - 파일 및 디렉터리 압축 및 아카이브 생성 (0) | 2026.08.09 |
| zcat 사용법 및 옵션 - 압축 파일의 내용을 해제 없이 표준 출력으로 조회 (0) | 2026.08.09 |
Comments