bash 프롬프트에서 절대 경로를 어떻게 표시합니까? 다음과 같이 설정했다. PS1=”\[\`if [[ \$? =

나는 현재 내 배쉬 PS1를 다음과 같이 설정했다.

PS1="\[\`if [[ \$? = "0" ]]; then echo '\e[32m\h\e[0m'; else echo '\e[31m\h\e[0m' ; fi\`:\w\n\$ "

상대 경로 대신 절대 경로를 표시하려면 어떻게해야합니까 (예 : /home/dave/dir대신 ~/dir)?



답변

그냥 교체 \w와 함께 \$PWD:

PS1="\[\`if [[ \$? = "0" ]]; then echo '\e[32m\h\e[0m'; else echo '\e[31m\h\e[0m' ; fi\`:\$PWD\n\$ "

어쨌든 약간의 팁이 마음에 들면 다음과 같이 쓸 것입니다.

PS1='\[`[ $? = 0 ] && X=2 || X=1; tput setaf $X`\]\h\[`tput sgr0`\]:$PWD\n\$ '

답변

집에 넣어 .bashrc

PS1='\u@\h:\w\$ '

답변

bash의 ps1에서; -W는 상대적이어야하고 -w는 절대적이어야하므로 위의 경우 이미 절대 값을 가져야합니까?!

http://wiki.archlinux.org/index.php/Color_Bash_Prompt


답변

Humm ~ / dir은 절대 경로이지만 “바로 가기”를 사용합니다. 예를 들어, cd /usr/local프롬프트를 표시하면 / usr / local의 전체 경로가 표시 될 것입니다. 어쨌든 이미 전체 경로가 있습니다 🙂

그러나 아마도 올바른 질문은 ~와 같은 단축키없이 전체 경로를 표시하는 방법입니다.

그러나 나는 그에 대한 대답을 모르고 사람을보고 있는데, 적어도 하나의 문서가있는 것 같습니다.


답변

pwd대신에 실행하십시오 \W.

간단한 버전 :

export PS1="\`pwd\` $ "

코드에서 이것을 사용 :

export PS1="\[\`if [[ \$? = "0" ]]; then echo '\e[32m\h\e[0m'; else echo '\e[31m\h\e[0m' ; fi\`:\`pwd\`\n\$ "