728x90

개요
리눅스에서 현재 작업 디렉토리의 절대 경로를 참조할 때, 두 가지 주요 방식인 ${PWD}와 $(pwd)를 사용할 수 있습니다.
두 방법은 결과적으로 같은 경로를 반환하지만, 동작 방식과 성능에 있어서 약간의 차이가 존재합니다. 이번 포스트에서는 이 두 방법의 차이점을 명확히 정리하고자 합니다.
${PWD}: 시스템 환경 변수 참조
${PWD}는 환경 변수를 참조하는 방식입니다.
PWD는 리눅스와 macOS 시스템에서 현재 작업 디렉토리의 절대 경로를 담고 있는 자동으로 설정되는 시스템 환경 변수입니다. 즉, PWD는 사용자가 설정하거나 변경할 필요 없이 시스템에서 현재 디렉토리 정보를 자동으로 관리합니다.
사용 예시
echo "현재 디렉토리: ${PWD}"
- ${PWD}는 현재 작업 디렉토리의 절대 경로를 즉시 반환합니다.
- 빠르고 효율적입니다.
- 이미 메모리 내에 저장된 값이므로, 별도의 명령어 실행 없이 값을 참조할 수 있습니다.
$(pwd): 명령어 치환
$(pwd)는 명령어 치환 방식입니다.
$(pwd)는 pwd 명령어를 실행하고 그 결과를 치환하여 사용하는 방식입니다. 즉, pwd 명령어는 현재 작업 디렉토리를 출력하는 명령어로, 이 명령어를 실행하여 그 결과를 동적으로 받아오는 형태입니다.
사용 예시
echo "현재 디렉토리: $(pwd)"
- $(pwd)는 pwd 명령어를 실행하여 현재 작업 디렉토리의 절대 경로를 반환합니다.
- 명령어 실행 후 결과를 동적으로 받아오기 때문에 시스템 환경 변수 참조 방식인 ${PWD}보다 약간 더 시간이 걸릴 수 있습니다.
${PWD} vs $(pwd): 차이점 정리
| 특성 | ${PWD} | $(PWD) |
| 형식 | 환경 변수 참조 | 명령어 치환 |
| 속도 | 빠름 (환경 변수 값 참조) | 조금 더 느림 (명령어 실행 필요) |
| 성능 | 효율적 (기존 값 참조) | 덜 효율적 (명령어 실행 후 결과 반환) |
| 동적 처리 | 현재 작업 디렉토리의 값만 참조 | 명령어 실행 결과를 매번 계산 |
'TIL,일일 회고' 카테고리의 다른 글
| [TIL, 일일 회고] 2025.01.14 - 읽기 전용 볼륨이란? :도커에서 데이터 수정 방지 설정하기 (0) | 2025.01.14 |
|---|---|
| [TIL, 일일 회고] 2025.01.13 - 자바에서 동일성과 동등성의 차이 이해하기 (0) | 2025.01.13 |
| [TIL, 일일 회고] 2025.01.11 - Docker에서 ${PWD}를 활용한 경로 단순화 방법 (1) | 2025.01.11 |
| [TIL, 일일 회고] 2025.01.10 - Docker 볼륨의 우선순위: 익명 볼륨이 특정 경로를 보호할 수 있는 이유 (0) | 2025.01.10 |
| [TIL, 일일 회고] 2025.01.09 - 익명 볼륨의 진짜 가치: 임시 저장소를 넘어선 특정 경로 보호 역할 (0) | 2025.01.09 |