dirname 함수

dirname 함수

dirname은 파일시스템 경로를 담은 문자열을 받아, 마지막 부분을 제거해요.

출처: Packer 공식 문서

본문

이 함수는 경로 문자열로만 동작하고 파일시스템 자체에는 접근하지 않아요. 그래서 심볼릭 링크 같은 파일시스템 기능을 고려할 수 없어요.

경로가 비어 있으면 결과는 "."이에요. 현재 작업 디렉터리를 나타내죠.

이 함수의 동작은 호스트 플랫폼에 따라 달라져요. Windows 시스템에서는 백슬래시 \를 경로 세그먼트 구분자로 사용해요. Unix 시스템에서는 슬래시 /를 사용해요. 이 함수의 결과는 정규화되므로, Windows 시스템에서는 주어진 경로의 슬래시가 반환되기 전에 백슬래시로 대체돼요.

리소스 인자에서 파일시스템 경로를 직접 참조하면, 같은 설정이 여러 시스템이나 다른 호스트 운영체제에서 적용될 때 허위 차이(spurious diffs)가 생길 수 있어요. 파일시스템 경로는 file의 인자(내용만 저장되는 경우)나 connection, provisioner 블록 같은 일시적인 값에만 사용할 것을 권장해요.

예시 (Examples)

> dirname("foo/bar/baz.txt")
foo/bar
  • basename은 파일시스템 경로의 마지막 부분만 반환하고, dirname이 반환할 부분은 버려요.

더 알아보기 (Learn more)