bashrc에서는 특수 문자가 작동하지 않습니다

bashrc에서는 특수 문자가 작동하지 않습니다

터미널을 사용자 정의하는 방법에 대한 튜토리얼을 찾고 있었습니다. PS1을 다음과 같이 사용자 정의하려고 할 때

PS1="\u@\h \W -> "
export PS1;

터미널에서 파일을 가져오는 대신 파일을 가져오면사용자 이름@호스트 디렉터리알겠어요

\u@\h \W -> 

지금까지 내 .bash_profile 및 .bashrc 파일에 있는 내용은 다음과 같습니다.

.bash_config 파일

if [ -s ~/.bashrc ]; then
    source ~/.bashrc;
fi

.bashrc

PS1="\u@\h \W -> "
export PS1;

어떤 도움이라도 대단히 감사하겠습니다. 감사합니다!

답변1

어떤 결과를 얻나요 echo $0?

출력은 다음과 같습니다-zsh

이는 Bash가 아닌 Zsh를 실행하고 있음을 의미하는 것 같습니다. Zsh는 Bash의 즉석 확장을 지원하지 않지만 자체 시스템을 가지고 있습니다. 바라보다:http://zsh.sourceforge.net/Doc/Release/Prompt-Expansion.html

다음과 같이 넣어보세요 .zshrc.

PS1='%n@%M %~ -> '

어떤 로그인 셸을 보거나 /etc/passwd실행 하여 확인할 수 있습니다 getent passwd $USER(Linux에서 작동해야 함). 마지막 필드는 쉘입니다.

Bash를 로그인 셸로 실행하려면 chsh -s /bin/bash이를 변경해야 합니다.

관련 정보