나는 현재 내 배쉬 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는 절대적이어야하므로 위의 경우 이미 절대 값을 가져야합니까?!
답변
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\$ "