vim
경로가 약간 길 때 활용하는 아주 좋은 기능이 있습니다.
상단 탭에 있는 문서에 대한 경로를 축약합니다. 내 bash 프롬프트가 다음과 같이 보이지 않도록 비슷한 작업을 수행하는 방법이 있습니까?
rfkrocktk@work-laptop ~/Documents/Projects/Work/maventest/src/main/java/com/tkassembled/ $
답변1
나는 PROMPT_DIRTRIM
bash에있는 것을 좋아합니다 ...
export PROMPT_DIRTRIM=2
예제 프롬프트를 다음으로 변경합니다...
rfkrocktk@work-laptop ../com/tkassembled/ $
이것은 나에게 효과적입니다.
답변2
노력하다이것:
PROMPT_COMMAND='PS1X=$(perl -pl0 -e "s|^${HOME}|~|;s|([^/])[^/]*/|$""1/|g" <<<${PWD})'
또는 순수 bash:
PROMPT_COMMAND='PS1X=$(p="${PWD#${HOME}}"; [ "${PWD}" != "${p}" ] && printf "~";IFS=/; for q in ${p:1}; do printf /${q:0:1}; done; printf "${q:1}")'
그 다음에
PS1='\u@\h ${PS1X} $ '
생성합니다( ~
for 참고 ${HOME}
).
rfkrocktk@work-laptop ~/D/P/W/m/s/m/j/c/tkassembled $
답변이 개선되었습니다. 감사합니다.@엔조팁
답변3
@nicerobot의 답변과 유사하지만 약간 더 짧습니다.
PROMPT_COMMAND='pwd2=$(sed "s:\([^/]\)[^/]*/:\1/:g" <<<$PWD)'
PS1='\u@\h:$pwd2\$ '
그러면 다음 샘플 출력이 표시됩니다.
enzotib@acer:/h/enzotib$ cd
enzotib@acer:/h/enzotib$ cd /usr/share/doc/acpid/examples/
enzotib@acer:/u/s/d/a/examples$
답변4
사용 중인 형식은 PS1
다음과 같습니다 \W
( 맨 페이지 PROMPTING
의 섹션 참조 bash
).
PS1="\u@\h \W\$ "
다른 옵션에 대해 읽어보고 싶을 수도 있습니다. 명령줄을 사용하여 몇 가지 멋진 작업을 수행할 수 있습니다.