%EC%9D%B4%20%EC%9E%91%EB%8F%99%ED%95%98%EC%A7%80%20%EC%95%8A%EB%8A%94%20%EC%9D%B4%EC%9C%A0%EB%8A%94%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
최근에 bash에서 zsh로 전환했습니다. Bash에서는 .
소스 명령에 점 별칭을 사용했습니다 . 예:
. .bashrc
. .bashrc
, . ~/.bashrc
, 와 함께 작동했습니다 . ./.bashrc
.
그러나 zsh에서는 점 별칭이 동일한 방식으로 작동하지 않습니다. 파일 경로에서만 작동합니다. 하지만 경로가 없는 파일을 사용하는 경우에는 그렇지 않습니다.
이것은 작동하지 않습니다:
. .zshrc
그러면 다음과 같은 오류가 발생합니다..: no such file or directory: .zshrc
하지만 이것들은 모두 작동합니다:
source .zshrc
. ./.zshrc
. ~/.zshrc
답변1
실제로는표준적인 행동도트 명령 중:$PATH 검색을 사용합니다.일반적인 상대 경로가 아닌 명령을 실행할 때와 같습니다. 따라서 ~/bin/에 공용 라이브러리를 두고 . libwhatever.sh
임의의 디렉토리에서 간단히 로드할 수 있습니다 .
직접 상대 경로 조회를 수행하는 것은 비표준 Bash 확장입니다.
(마찬가지로 점은 .
실제로 "쉘 언어" 표준에 나열된 기본 명령이며 source
쉘별 별칭입니다. 그 반대는 아닙니다.)