콘솔에서 내 CWD가 무엇인지 확인하기 위해 ~/.bash_profile에 다음을 추가합니다.
export PS1='$(pwd)$ '
따라서 pwd
결과는 $
기호 앞에 표시됩니다. 정말 좋습니다.
하지만 이름이 긴 디렉토리에 들어가면 다음과 같습니다./var/www/vhosts/beta.sitename.co.uk/httpdocs/sites/beta.sitename.co.uk/modules/bundles
명령 프롬프트에 다음이 표시됩니다.
.co.uk/modules/bundles$ sitename.co.uk/httpdocs/sites/beta.sitename.
이로 인해 쉘을 거의 사용할 수 없게 됩니다. 잘라내고 마지막 부분이나 디렉터리 이름만 유지하는 것이 가능한가요? 30자라고 가정해 보겠습니다.
pwd
cd
아니면 각 명령 다음에 인쇄하여 내가 어디에 있는지 알 수 있도록 하는 것이 더 나은 아이디어일까요 ? 이는 별칭을 사용하여 수행할 수 있습니다.
답변1
내 경우에는 .bashrc
PS1이 현재 작업 디렉터리의 마지막 구성 요소를 표시하도록 구성되어 있습니다. 이는 다음을 \W
사용하여 수행할 수 있습니다(PS1은 일부 특수 시퀀스 및 변수를 허용함). 귀하의 경우에는 다음과 같습니다.
$ export PS1='\W$'
man bash
이러한 시퀀스의 더 많은 내용은 , at 에서 찾을 수 있습니다 Prompting
.이봐. \w
전체 경로를 사용할 수도 있지만 $HOME
축약됩니다 ~
(이렇게 하면 대부분의 경로가 단축됩니다). 이제 글자 수 제한을 설정하고 싶다면 다음을 사용할 수 있습니다.
$ export PS1='$(pwd | tail -c30)$' # Limited to 30 characters
$ export PS1='...$(pwd | tail -c30)$'
...또는 약간 부끄러움을 느끼는 경우도 있습니다.
$ export PS1='${PWD: -30}$'
$ export PS1='${PWD:(-30)}$'
$ export PS1='...${PWD: -30}$'
$ export PS1='...${PWD:(-30)}$'