.zshrc와 같은 구성 파일을 실행하지 않고 대화형 zsh를 시작하세요.

.zshrc와 같은 구성 파일을 실행하지 않고 대화형 zsh를 시작하세요.

와 같은 구성 파일을 실행하지 않고 대화형 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많은 쉘에서 프롬프트 사용자 정의 변수로 사용되지만 구문은 쉘마다 크게 다릅니다.

불행하게도 일부 GNU/Linux 배포판은 PS1일부 시스템 시작 파일에서 변수를 설정하고 내보내며 이를 bash쉘(GNU 쉘)의 구문에 특정한 값으로 정의합니다. bash그런 환경에서는 PS1쓰레기 프롬프트가 표시됩니다.

PS1환경에서 제거된 쉘을 시작하려면 다음을 수행할 수 있습니다.

(unset -v PS1; zsh -f)

일부 env구현을 사용하면 다음을 수행할 수도 있습니다.

env -u PS1 zsh -f

환경 변수 없이 시작하려면(위에서 언급한 것처럼 좋은 생각이 아닐 수도 있습니다):

env -i zsh -f

관련 정보