pathexpand 함수
pathexpand 함수
pathexpand 는 ~ 세그먼트로 시작할 수 있는 파일시스템 경로를 받아서, 그럴 경우 그 세그먼트를 현재 사용자의 홈 디렉토리 경로로 바꿔요.
출처: 문서
본문
pathexpand 는 ~ 세그먼트로 시작할 수 있는 파일시스템 경로를 받아서, 그럴 경우 그 세그먼트를 현재 사용자의 홈 디렉토리 경로로 바꿔요. 이 함수는 경로 문자열로만 동작하고 파일시스템 자체에는 접근하지 않아요. 따라서 심볼릭 링크 같은 파일시스템 기능은 고려할 수 없어요.
경로의 첫 세그먼트가 ~ 가 아니면 주어진 경로가 수정 없이 반환돼요.
작업(job) 인자에서 이 함수를 사용하면, 같은 구성이 서로 다른 홈 디렉토리 경로를 가진 여러 사용자에 의해 실행되거나 서로 다른 호스트 운영체제에서 사용될 때 불필요한 diff가 생길 수 있어요.
현재 사용자의 "홈 디렉토리"를 결정하는 규칙은 호스트 운영체제에 따라 달라져요.
Unix 시스템의 경우, 다음 출처가 선호 순서대로 고려돼요:
HOME환경 변수getent passwd다음에 Nomad 프로세스 uid를 실행한 결과sh에서cd && pwd를 실행한 결과
Windows 시스템의 경우, Unix와 같은 의미의 홈 디렉토리라는 개념은 없지만, 다음 출처가 선호 순서대로 고려돼요:
HOME환경 변수- 둘 다 설정된 경우
HOMEDRIVE와HOMEPATH환경 변수 USERPROFILE환경 변수
각 운영체제에 적용되는 정확한 규칙은 향후 Nomad 릴리스에서 바뀔 수 있어요.
Examples
> pathexpand("~/.ssh/id_rsa")
/home/steve/.ssh/id_rsa
> pathexpand("/etc/resolv.conf")
/etc/resolv.conf
더 알아보기 (Learn more)
- Nomad 공식 문서: /nomad/docs/reference/hcl2/functions/file/pathexpand