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

현재 작업 디렉토리를 다음과 같이 인쇄 할 수 있습니다.

myPrompt$ pwd /Users/me/myDir 

쉘을 원합니다. 이렇게 보이게

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

가능합니까? 어떻게해야하나요?

댓글

  • OS X에서 파일 이름은 .profile이 아닌 .bash_profile입니다. 자동으로로드됩니다.
  • 정답이 아닙니다. OSX는 기본적으로 로그인 셸을 시작 하므로 bash는 ~/.bash_profile, ~/.bash_login~/.profile는 그 순서대로 존재하고 읽을 수있는 첫 번째 명령부터 읽고 실행합니다. 어쨌든 이것은 답변이 아닌 댓글이므로 하나로 변환하겠습니다.

답변

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

~/.bashrc에 다음을 입력하세요.

PS1="\w\$ " 

댓글

  • 감사합니다. 나는 그 변화를 만들었다. 이제 다음과 같이 보입니다 : Abrams-MacBook-Air-3 : tmp abramhandler $ pwd; / Users / abramhandler / tmp Abrams-MacBook-Air-3 : tmp abramhandler $ …. " tmp . 나머지는 어떻게 숨깁니까? " abramhandler " 및 " Abram s-MacBook-Air-3 " 부품
  • @ akh2103은 대신 \W를 사용합니다. \w. 이스케이프 코드에 대한 (짧은) 설명은 Gilles가 제공 한 링크를 참조하십시오.
  • @terdon \ W와 \ w도 같은 것을 봅니다. OSX에서 Unix를 실행하고 있습니다.
  • @ akh2103 OSX를 실행하고 터미널 앱을 사용하는 경우 터미널이 기본적으로 로그인 셸을 실행하므로 .bashrc가 아닌 ~ / .profile을 변경해야합니다. 변경 사항을 적용하려면 ~ / .profile을 소싱하거나 새 터미널을 열어야합니다. 또한 더 많은 정보를 추가하려면 수정 하세요. 마지막 댓글에서 요청한 내용을 ' 이해할 수 없습니다. .
  • @terdon source ~ / .profile 실행하면 현재 터미널에서 경로가 제대로 변경됩니다. 하지만 새 터미널을 열면 " abram ' s mac book air " 등. .profile 및 .bashrc 파일에 소스 ~ / .profile을 추가하려고 시도했지만 여전히 운이 없습니다. 아이디어가 있으신가요?

답변

여기에 OSX 용 한 줄짜리가 있습니다. 원하는 프롬프트를 추가합니다. 프로필 파일을 입력 한 다음 프로필을 다시로드합니다.

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

El Capitan에서는

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

Answer

어떤 이유로 "\w\$"가 저에게 적합하지 않았지만 대신 저는 완료 : export PS1="$(pwd) \$" 그리고 작동했습니다.

댓글

  • 디렉토리 변경 …

답변

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

  • 만든 경우 ~/.profilePS1="\w\$ " 입력
  • ~/.bashrc의 모든 변경 사항은 제거
  • cmd + q
  • 로 터미널을 닫습니다. li> 터미널 다시 열기

댓글

  • 제 경우에는 완전한 PATH가 정말 커서 PS1 = ' \ w \ n \ $ '

답변

간단한 솔루션

~/.bash_profile를 열고 다음 콘텐츠를 추가합니다.

# \[\e[0m\] resets the color to default color reset_color="\[\e[0m\]" # \[\033[33m\] sets the color to yellow path_color="\[\033[33m\]" # \e[0;32m\ sets the color to green git_clean_color="\[\e[0;32m\]" # \e[0;31m\ sets the color to red git_dirty_color="\[\e[0;31m\]" # determines if the git branch you are on is clean or dirty git_prompt () { # Is this a git directory? if ! git rev-parse --git-dir > /dev/null 2>&1; then return 0 fi # Grab working branch name git_branch=$(git branch 2>/dev/null| sed -n "/^\*/s/^\* //p") # Clean or dirty branch if git diff --quiet 2>/dev/null >&2; then git_color="${git_clean_color}" else git_color="${git_dirty_color}" fi echo " [$git_color$git_branch${reset_color}]" } export PS1="${path_color}\w\[\e[0m\]$(git_prompt)\n" 

이 해야합니다 :

1) Prompt the path you"re in, in color: path_color. 2) Tell you which branch are you. 3) Color the name of the branch based on the status of the branch with git_clean_color for a clean work directory and git_dirty_color for a dirty one. 4) The brackets should stay in the default color you established in your computer. 5) Puts the prompt in the next line for readability. 

목록

을 사용하여 색상을 맞춤 설정할 수 있습니다. p> 정교한 솔루션

또 다른 옵션은 Git Bash 프롬프트를 사용하여 . Mac OS X에서 Homebrew를 통해 옵션을 사용했습니다.

git_prompt_list_themes 테마를보기 위해 테마를 보았지만 마음에 들지 않았습니다.

git_prompt_color_samples 사용 가능한 색상을 확인합니다.

git_prompt_make_custom_theme [<Name of base theme>] 새 사용자 지정 테마를 만들려면 .git을 만들어야합니다. -prompt-colors.sh 파일.

subl ~/.git-prompt-colors.sh git-prompt-colors.sh를 열고 사용자 지정 :

.git- prompt-colors.sh 파일은 내 사용자 정의로 다음과 같이 보일 것입니다.

 override_git_prompt_colors() { GIT_PROMPT_THEME_NAME="Custom" # Clean or dirty branch if git diff --quiet 2>/dev/null >&2; then GIT_PROMPT_BRANCH="${Green}" else GIT_PROMPT_BRANCH="${Red}" fi } reload_git_prompt_colors "Custom" 

이 답변은 여기 . 도움이되기를 바라며 즐거운 하루 보내세요.

댓글

  • OP가 단순히 쉘 '을 표시하려고했던 것 같습니다. 작업 디렉토리. 일반 Git 사용자로서 ' 또한 멋진 Git 인식 프롬프트를 사용하고 있지만 여기에서는 과도하게 사용되는 것 같습니다.

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다