셸의 :는 아무 동작 없이 인수만 평가해 버리는 널 명령(null command) 으로, 매개변수 확장과 결합하면 필수 인수 검사와 기본값 설정을 간결하게 처리할 수 있음 : "${1:?missing argument, aborting!}"는 $1이 없거나 비어 있으면 진단 메시지를 stderr에 출력하고 0이 아닌 상태로 종료함 ${VAR:=default}를 :의 인수로 전달하면 확장은 실행하되 결과 문자열은 버리므로, 확장 결과를 명령으로 실행하지 않고 기본값만 설정할 수 있음 리디렉션을 통한 파일 비우기와 접근 가능 여부 검사, trap의 빈 명령, set -u 환경의 변수 검사, 비어 있는 조건 분기에도 :를 활용할 수 있음 : "${VAR:=default}"는 변수명을 한 번만 써서 오타 가능성을 줄이고, while:에서는 항상 성공하는 조건이 되어 무한 루프를 표현함 널 명령과 매개변수 확장 :는 인수를 평가한 뒤 결과를 버리는 널 명령 내장 명령임 1971년 Thompson shell까지 거슬러 올라가며, 당시에는 레이블이자 Unix 최초의 주석 표식으로도 쓰였음 네 줄짜리 조건문 대신 다음 한 줄로 필수 인수를 검사할 수 있음 : "${1:?missing argument, aborting!}" echo "Hello $1!" 매개변수 확장 구문 ${name:?diagnostic}는 $name이 설정되지 않았거나 비어 있는지 검사함 값이 없으면 diagnostic을 stderr에 출력하고 셸을 0이 아닌 상태로 종료함 값이 있으면 $name과 같은 결과를 냄 널 명령 없이 ${HELLO:=123}만 실행하면 확장 결과인 123을 명령으로 취급해 command not found가 발생함 : ${HELLO:=123}는 확장을 평가해 HELLO=123을 설정하면서 그 결과는 버림 : "${DATA_DIR:=/var/data}"는 DATA_DIR="${DATA_DIR:-/var/data}"와 달리 변수명을 한 번만 적으므로 DATA_DRI 같은 오타 가능성을 줄일 수 있음 :를 활용하는 방법 기본값 설정 확장 결과를 실행하지 않고 버리면서 변수의 기본값을 설정함 : "${DATA_DIR:=/var/data}" : "${RETRIES:=3}" 파일 비우기와 접근 검사 리디렉션과 결합하면 하나 이상의 파일을 비울 수 있음 : > error.log : > error.log > access.log 서...
셸의 콜론은 아무것도 하지 않는다. 그래도 사용하라
2 weeks ago
14
Related
한 연구자가 noreply.net을 샀더니 기업 기밀이 쏟아짐
1 hour ago
1
프랑스, 사전 동의 없는 텔레마케팅 전화 금지
1 hour ago
0
GitHub Actions에 OIDC audience 제약이 필요한 이유
3 hours ago
0
H3-metal - Apple Silicon용 네이티브 MiniMax-H3 추론
3 hours ago
1
AI가 웹을 잠식하면서 인터넷의 집단 기억이 사라지고 있음
4 hours ago
1
Rails는 DHH 없이도 Rails일 수 있을까
6 hours ago
1
LLM은 PCB 배선을 어디까지 할 수 있을까? 숙련자와 Net 단위로 비교해봤습니다
6 hours ago
1
Hanami - Rails를 대체하는 Ruby 프레임워크
7 hours ago
2
Tips
click
Popular
What's New in SAP S/4HANA Cloud Public Edition 2608 | Releas...
3 weeks ago
209
Codex 사용량 한도 리셋 추적
3 weeks ago
88
NVIDIA·CoreWeave·Nebius가 만든 GPU 붐의 순환 금융 구조
4 weeks ago
62
'킬러들의 쇼핑몰2' 감독 "시즌3 고민 중"⋯이동욱 "시키면 ...
3 weeks ago
57
© Clint IT 2026. All rights are reserved









English (US) ·