셸의 :는 아무 동작 없이 인수만 평가해 버리는 널 명령(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
24
Related
London Underground의 승객 얼굴 스캔 개시
2 hours ago
1
AI가 코드를 쓰는 시대, antirez는 왜 다시 C로 만드는가
3 hours ago
1
HOP - HWP/HWPX 문서를 보고 편집할 수 있는 오픈소스 데스크톱 앱
3 hours ago
2
Go 언어가 AI 기반 소프트웨어 엔지니어링에 이상적인 이유
6 hours ago
3
압축은 예측이다
6 hours ago
2
OpenAI 윤리 책임자, 합류 1년도 안 돼 퇴사
7 hours ago
1
Mojo 1.0 정식 출시
7 hours ago
3
코드가 아니라 아이디어를 통제하라
8 hours ago
2
Tips
click
Trending
Popular
필리핀 “中 관영매체, 필리핀인을 원숭이로 묘사…인종차별”
3 weeks ago
152
北핵실험 연구한 美학자, 中에 20개월째 구금…외교문제 비화
4 weeks ago
123
© Clint's Theme Park 2026. All rights are reserved










English (US) ·