때로는 쉘 프롬프트에서 현재 작업 디렉토리가 축약된 것으로 표시되기도 하고 그렇지 않은 경우도 있습니다.
예를 들어 또는 로 /usr/bin
표시됩니다 . 다른 경우에는 완료로 표시되는 것을 보았습니다.bin$
/folder1/folder2
folder2$
/folder1/folder2
/folder1/folder2$
나는 기본 터미널 설정을 사용하고 있습니다(학습을 위해 Fedora 22 가상 머신을 사용하고 있지만 다른 배포판을 사용하는 다른 여러 튜토리얼 비디오에서도 이 사실을 발견했습니다).
어떤 규칙이 있나요?
답변1
경로를 줄이는 또 다른 방법은 쉘 변수를 \w
사용하는 것 입니다. PROMPT_DIRTRIM
데모:
jackman@b7q9bw1:/usr/local/share/doc $ echo "$PS1"
\u@\h:\w \$
jackman@b7q9bw1:/usr/local/share/doc $ pwd
/usr/local/share/doc
jackman@b7q9bw1:/usr/local/share/doc $ PROMPT_DIRTRIM=2
jackman@b7q9bw1:.../share/doc $ pwd
/usr/local/share/doc
jackman@b7q9bw1:.../share/doc $
답변2
기본 프롬프트에 표시되는 내용은 변수의 내용에 따라 결정됩니다 PS1
. 다음은 bash 문서에서 발췌한 내용입니다.
\w the current working directory, with $HOME abbreviated
with a tilde (uses the value of the PROMPT_DIRTRIM vari‐
able)
\W the basename of the current working directory, with $HOME
abbreviated with a tilde
즉, 다음 을 PS1
사용 \w
하면\W
PS1
내가 시도한 일부 임의의 Linux 기반 시스템의 기본값은 이지만 [\u@\h \W]\$
이는 시스템마다 다릅니다.
답변3
이는 PS1 변수의 내용과 관련이 있습니다. 를 실행하여 PS1 변수를 확인할 수 있습니다 echo $PS1
.
하나 있으면 \w
전체 경로가 표시되고, 하나 있으면 \W
마지막 폴더만 표시됩니다.