PS1 프롬프트를 다음으로 설정하려고 합니다.
/usr/local/src mario
그래서 .bash_profile에서 다음 코드를 사용했습니다.
export PS1=" \w \u\[$(tput sgr0)\]"
나는 결국 :
\w \u\[$(tput sgr0)\]
아이디어가 있나요?
문자열 연결을 사용하여 원하는 것을 얻을 수 있지만 이렇게 해야 한다는 것이 이상해 보입니다.
답변1
귀하의 쉘은 아마도 bash
. 로 변경하세요 chsh
.
또한 일부 값에는 문제가 있습니다 $PS1
.
PS1=" \w \u\[$(tput sgr0)\]"
$(...)
설정할 때 평가 되지만 PS1
한 번만 수행됩니다. tput sgr0
프롬프트가 표시될 때마다 실행 하려면 작은따옴표를 사용하십시오.
PS1='\w \u\[$(tput sgr0)\] \$ '
(또한 값의 시작 부분에서 끝 부분으로 초기 공백을 이동하고 \$
이를 추가하여 프롬프트와 명령줄을 더 읽기 쉽게 만들었습니다.
설정할 수도 있습니다.
PS1="\w \u \$ "
그런 다음 설정
PROMPT_COMMAND="tput sgr0"
각 프롬프트가 표시되기 전에 실행됩니다 tput sgr0
(무슨 일을 하는지 잘 모르기 때문에 이것이 의미가 있는지는 모르겠지만 시설은 거기에 있습니다).
현재 셸 세션에 대해서만 설정하는 것이 합리적이므로 내보내기 PS1
나 내보내기가 필요하지 않습니다.PROMPT_COMMAND