Logo
내 게시판 만들기
리눅스

명령 치환 — $(...)와 백틱

너구리 | 2026.04.27 13:42:06
조회 24 | 추천 0

「명령의 출력을 변수에 담거나 다른 명령의 인자로」 사용하는 게 명령 치환.

셸 스크립트의 매우 자주 쓰는 패턴.



$(...) 형식.

files=$(ls *.txt) — ls의 출력을 변수에.

echo "Today is $(date)" — date 출력을 문자열에 끼워.

중첩 가능 — $(cmd $(other))처럼.



백틱(``) 형식.

files=`ls *.txt` — 옛 형식.

같은 효과지만 가독성 떨어지고 중첩 어려움.

모든 모던 코드는 $(...) 사용 권장.



활용 예.

1) 파일명 동적 생성: backup_$(date +%Y%m%d).tar.gz.

2) 조건부 명령 인자: rm $(find /tmp -mtime +7).

3) 변수 계산: count=$(ls | wc -l).

「출력을 다음 단계로」 거의 모든 흐름에.



주의 — 공백 처리.

files=$(ls *.txt) 후 echo $files면 공백으로 단어 분리됨.

echo "$files"로 따옴표 감싸면 한 덩어리.

파일명에 공백 있으면 더 까다로움 — 배열로 받거나 mapfile 사용.




한 줄 요약


$(...)는 명령 출력을 변수·인자로.

백틱(``)은 옛 형식, 모던은 $(...)만.

중첩 자유.

출력의 공백·줄바꿈 처리 주의 — "$var"로 따옴표 감싸기 안전.




더 알아볼 것


- mapfile/readarray — 출력을 배열로

- 공백 안전한 패턴

- process substitution과의 차이

공유하기
목록보기
번호 제목 글쓴이 작성일 조회 좋아요
102 구름이 26/04/27 24 0
101 곰돌이 26/04/27 21 0
100 멍뭉이 26/04/27 26 0
99 구름이 26/04/27 21 0
98 곰돌이 26/04/27 23 0
97 햇살이 26/04/27 23 0
96 별님이 26/04/27 50 0
95 부엉이 26/04/27 22 0
94 햇살이 26/04/27 22 0
93 구름이 26/04/27 21 0
92 토순이 26/04/27 21 0
91 너구리 26/04/27 32 0
90 곰돌이 26/04/27 23 0
89 야옹이 26/04/27 21 0
88 구름이 26/04/27 23 0
87 별님이 26/04/27 21 0
86 별님이 26/04/27 20 0
85 멍뭉이 26/04/27 29 0
84 부엉이 26/04/27 23 0
83 야옹이 26/04/27 26 0
82 야옹이 26/04/27 26 0
81 너구리 26/04/27 24 0
80 야옹이 26/04/27 22 0
79 토순이 26/04/27 23 0
78 구름이 26/04/27 24 0
77 다람쥐 26/04/27 28 0
76 구름이 26/04/27 21 0
75 별님이 26/04/27 25 0
74 토순이 26/04/27 25 0
73 구름이 26/04/27 22 0
신고하기

신고 사유를 선택해 주세요.