작업 디렉토리를 표시하도록 bash 프롬프트를 어떻게 변경합니까?


33

이처럼 현재 작업 디렉토리를 인쇄 할 수 있습니다

myPrompt$ pwd
/Users/me/myDir

내 껍질이 이렇게 보이기를 원합니다

/Users/me/myDir$ pwd
/Users/me/myDir

가능합니까? 어떻게하니?


OS X에서 파일 이름은 .profile이 아니라 .bash_profile입니다. 자동로드됩니다.

좀 빠지는. OSX는 로그인 쉘 시작 기본적으로하고 bash는 외모에 대한 것으로 그 의미 ~/.bash_profile, ~/.bash_login그리고 ~/.profile, 순서대로, 그리고 읽기와 존재하고 읽을 수있는 첫 번째에서 실행하는 명령을. 어쨌든 이것은 실제로 주석이며 답변이 아니므로 주석으로 변환하고 있습니다.
terdon

답변:


39

프롬프트 변수 에서 이스케이프 시퀀스 를 사용할 수 있습니다 .

이것을 당신의 것으로 넣으십시오 ~/.bashrc:

PS1='\w\$ '

2
감사. 나는 그 변화를했다. 이제 나는 본다 : Abrams-MacBook-Air-3 : tmp abramhandler $ pwd; / Users / abramhandler / tmp Abrams-MacBook-Air-3 : tmp abramhandler $ .... 프롬프트에 "tmp"라고 표시된 부분 만 표시하고 싶습니다. 나머지는 어떻게 숨기나요? "abramhandler"및 "Abram's-MacBook-Air-3"부품을
숨기고 싶습니다

7
@ akh2103 \W대신 사용하십시오 \w. 탈출 코드에 대한 짧은 설명은 Gilles가 제공 한 링크를 참조하십시오.
terdon

@terdon \ W와 \ w와 같은 것을 봅니다. OSX에서 Unix를 실행하고 있습니다.
bernie2436

2
@ akh2103 OSX를 실행 중이고 터미널 앱을 사용하는 경우 터미널은 기본적으로 로그인 셸을 실행하므로 .bashrc가 아닌 ~ / .profile을 변경해야합니다. 또한 변경 사항을 적용하려면 ~ / .profile을 소싱하거나 새 터미널을 열어야합니다. 또한 더 많은 정보를 추가 하려면 수정 해주세요 . 마지막 댓글에서 요청한 내용을 이해할 수 없습니다.
terdon

@terdon source ~ / .profile을 실행하면 현재 터미널에서 경로가 올바르게 변경됩니다. 그러나 새 터미널을 열면 여전히 "abram 's mac book air"등이 표시됩니다. 소스 ~ / .profile을 .profile 및 .bashrc 파일 모두에 추가하려고 시도했지만 여전히 운이 없습니다. 어떤 아이디어?
bernie2436

4

다음은 OSX를위한 하나의 라이너입니다. 원하는 프롬프트를 프로파일 파일에 추가 한 후 프로파일을 다시로드합니다.

echo "PS1='\w\$ '" >> ~/.bash_profile; source ~/.bash_profile

El Capitan에서는 사용하고 싶을 것입니다

echo "PS1='\w\$ '" >> ~/.profile; source ~/.profile

1

어떤 이유로 든 '\w\$'저에게 효과가 없었지만 대신 export PS1="$(pwd) \$"했습니다.


4
디렉토리를 변경할 때 너무 잘 작동하지 않습니다 ...
Stephen Kitt

0

오래된 스레드처럼 보이지만 OS X 10.9.5에서 아래 단계가 효과적이었습니다.

  • 넣어 PS1='\w\$ '에서~/.profile
  • 변경 한 경우 ~/.bashrc제거하십시오
  • cmd+로 터미널을 닫습니다q
  • 터미널을 다시여십시오

1
내 경우에는 완전한 PATH가 실제로 크므로 PS1 = '\ w \ n \ $'와 같은 다음 줄에 플래그를 하나 더 추가했습니다.
victor
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.