셸의 :는 아무 동작 없이 인수만 평가해 버리는 널 명령(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 서...
셸의 콜론은 아무것도 하지 않는다. 그래도 사용하라
1 week ago
13
Related
64비트 어셈블리의 기술
54 minutes ago
1
Google이 RSS 피드 확산을 무너뜨리는 데 기여한 과정(2023)
1 hour ago
0
agent-device - AI 에이전트가 iOS/Android 기기를 제어하도록 돕는 CLI
1 hour ago
1
C에서 sizeof가 놀라울 정도로 파싱하기 어려운 이유
2 hours ago
0
자동화하지 말고, 완전히 없애버려라
2 hours ago
0
가장 빠른 AI-First 기업은 실제로 어떻게 일하는가
2 hours ago
0
AI와 개발하기: 숨은 결정을 드러내기
2 hours ago
0
미국의 오픈 모델 패러독스
2 hours ago
0
Tips
click
Trending
Popular
필리핀 “中 관영매체, 필리핀인을 원숭이로 묘사…인종차별”
2 weeks ago
124
北핵실험 연구한 美학자, 中에 20개월째 구금…외교문제 비화
2 weeks ago
104
디노티시아, ICML26서 ‘STAR-KV’ 논문 발표··· ‘KV 캐시 75% 압축에도 성능 보존’
3 weeks ago
62
삼일PwC, AI 기반 '지속가능성 공시 통합 플랫폼' 출시
3 weeks ago
59
© Clint's Theme Park 2026. All rights are reserved










English (US) ·