명령을 실행하는 스크립트가 있습니다 zsh -c
. 그런데 zsh
실행시 로딩이 안되는 것 같습니다 ~/.zshrc
.
알겠어요로그인 셸 플래그가 존재합니다., 하지만 zsh -lc <command>
그것도 작동하지 않는 것 같습니다.
내 파일에 정의된 함수, 별칭 및 변수를 가져오는 방법~/.zshrc런타임 패딩 zsh -c
?
답변1
zsh
.zshrc
비대화형 쉘에서는 읽지 말고 zsh
다음을 허용하십시오.대화형 셸을 호출하여 스크립트 실행:
$ zsh -ic 'type f'
f is a shell function
또는 언제든지 .zshrc
수동으로 가져올 수 있습니다.
$ zsh -c '. ~/.zshrc; type f'
f is a shell function
답변2
cuonglm이 말했듯 이 비대화형 쉘에는 로드 zsh
되지 않지만.zshrc
하다짐.zshenv
. 따라서 tty 구성과 같이 tty가 필요하지 않은 설정을 수행하는 $PATH
경우 .zshenv
.
~에서zsh 문서:
.zshenv
-f 옵션이 설정되지 않은 경우, 쉘에 대한 모든 호출에서 이 정보를 얻습니다. 여기에는 명령 검색 경로를 설정하는 명령과 기타 중요한 환경 변수가 포함되어야 합니다..zshenv
출력을 생성하거나 쉘이 tty에 연결되어 있다고 가정하는 명령을 포함해서는 안 됩니다.