구성 파일을 실행하지 않고 대화형 zsh를 시작하는 방법은 무엇입니까 .zshrc
?
시도해 보았지만 zsh -d -f -i
프롬프트가 지정된 것과 동일하므로 ~/.zshrc
옵션이 작동하지 않는 것 같습니다.
저는 macOS 10.15.4에서 zsh 5.8을 실행하고 있습니다.
답변1
zsh -d -f -i
-d
(암시적으로 -f
) 및 -i
( zsh
명령줄에서 실행할 스크립트/코드가 없고 stdin이 터미널인 경우 어쨌든 대화식으로 실행)은 중복되지만 이에 대해서는 정확합니다 .
그러나 이는 /etc/zsh/zshenv
여전히 해석되고 있으며 이를 비활성화할 수 있는 방법은 없다고 생각합니다. info zsh RCS
자세히보다.
귀하의 경우에는 PS1
환경에서 상속됩니다. PS1
셸을 사용자 정의할 수도 있는 많은 환경 변수 중 하나입니다.
초기 쉘에는 rc 파일이 없었으며 사용자 정의는 환경 변수(사용자가 ~/.profile
설정하거나 ~/.login
로그인 쉘에 의해 해석됨)를 통해서만 수행되었습니다.
쉘을 구성하는 데 사용되는 많은 변수가 있습니다. 바라보다:
info zsh 'Parameters Used By The Shell'
세부 정보(그러나 일부의 경우 환경에서 발견된 값은 무시됩니다).
이러한 환경 변수 중 일부(예 HOME
: PATH
, , SHELL
, , COLUMNS
, )는 셸 외부의 다른 많은 프로그램에서 사용되므로 LANG
설정을 해제하거나 설정 해제를 사용하는 것은 LC_*
좋지 않습니다 .env -i
이 문서에 나열된 대부분의 변수는 환경에 넣기를 원하지 않지만 환경에서 ~/.zshrc
일반 쉘 변수로 선언합니다. PS1
그 중 하나입니다. PS1
많은 셸에서 프롬프트 사용자 지정 변수로 사용되지만 구문은 셸마다 크게 다릅니다.
PS1
불행하게도 일부 GNU/Linux 배포판은 일부 시스템 시작 파일에서 이 변수를 설정하고 내보내며 bash
이를 쉘(GNU 쉘) 구문에 특정한 값으로 정의합니다. 즉, bash
이 환경과 다른 환경에서 실행하면 PS1
가비지를 받게 됩니다. 프롬프트.
PS1
환경에서 제거된 셸을 시작하려면 다음을 수행할 수 있습니다.
(unset -v PS1; zsh -f)
일부 env
구현을 사용하면 다음을 수행할 수도 있습니다.
env -u PS1 zsh -f
환경 변수 없이 시작하려면(위에서 언급한 것처럼 이는 아마도 좋은 생각이 아닐 것입니다):
env -i zsh -f