와 같은 구성 파일을 실행하지 않고 대화형 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