PS1에서 경로 구분 기호 강조 표시

PS1에서 경로 구분 기호 강조 표시

Bash에서 다음과 같은 작업을 수행하고 싶습니다.

zsh 프롬프트에서 경로 형식을 지정하는 방법은 무엇입니까?

그러나 내가 시도한 모든 결과는 PWD터미널을 시작한 첫 번째 디렉터리에 고정되었습니다. 이상하게도 PS1현재 git 브랜치를 프롬프트에 넣고 항상 업데이트하는 기능도 있어서 왜 PWD멈췄는지 헷갈립니다. 나의 현재 팁여기그런데.

\w교체 하려고 시도했지만 $(pwd|grep --color=always /)막혔습니다. 또한 이 작업을 수행하기 위해 bash 문자열 대체를 사용해 보았지만 그 중 하나도 작동하지 않았습니다. ${PWD////$bldred/$bldblu}($bldred 및 $bldblue는 프롬프트.sh에 정의되어 있습니다.)

답변1

프롬프트에 동적 변수를 포함할 때는 이를 인용해야 합니다.

PROMPT_COMMAND 항목 중 일부를 잘 이해하지 못합니다. PS1='${PWD////'"$bldred/$bldblue"'} \$'직접 시도해 보고 작동하는지 확인하세요.

답변2

스크립트의 마지막 부분:

case "$TERM" in
xterm*|rxvt*)
    PS1=...
...

설정하면 쓸모가 없습니다 $PROMPT_COMMAND. 버전은 $PS1한 번만 실행됩니다. 따라서 스크립트를 처음 실행한 후에는 제목 업데이트가 표시되지 않습니다. $PROMPT_COMMAND다른 모든 것과 함께 제목 변경 사항을 추가 해야 합니다 .

switch실제 지점 으로 이동

if [ "$color_prompt" = yes ]; then

그리고 그 위에 다양한 버전을 구축하세요 $PROMPT_COMMANDS. 나를 위해 작동합니다.

관련 정보