Git Aptana Studio의 Cygwin 터미널에서 쉘 프롬프트를 변경하는 방법은 무엇입니까?

Git Aptana Studio의 Cygwin 터미널에서 쉘 프롬프트를 변경하는 방법은 무엇입니까?

저는 Aptana studio 3.3.2를 실행하고 있습니다. 명령 에코 $SHELL출력 /bin/sh. 그런데 PS1확인하려는 환경변수에 값이 없습니다. .bash_profile파일이 없으면 못하는데 환경변수를 .bashrc확인하고 싶어요 .PS1

이는 Git에서 실행할 때

git init myproject
cd myproject

다음 프롬프트가 표시됩니다.

foo/myproject (master)

쉘이 (기본) 문자열을 어떻게 관리하는지 알 수 없습니다 PS1. 결국 디렉토리 이름은 " myproject (master)"가 아니라 myproject입니다.

감사해요.

업데이트로 이것은 내 쉘입니다.

Neil@NEIL-PC ~
$ echo $SHELL
/bin/sh

Neil@NEIL-PC ~
$ /bin/sh --version
GNU bash, version 3.1.0(3)-release (i686-pc-msys)
Copyright (C) 2005 Free Software Foundation, Inc.

내 환경 변수의 출력은 다음과 같습니다.

Neil@NEIL-PC ~
$ pwd
/c/Users/Neil

Neil@NEIL-PC ~
$ env
HOMEPATH=\Users\Neil
APPDATA=C:\Users\Neil\AppData\Roaming
PROGRAMW6432=C:\Program Files
TERM=cygwin
PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 42 Stepping 7, GenuineIntel
WINDIR=C:\Windows
COMMONPROGRAMW6432=C:\Program Files\Common Files
PUBLIC=C:\Users\Public
PROGRAMDATA=C:\ProgramData
USERDOMAIN=NEIL-PC
COMMONPROGRAMFILES(X86)=C:\Program Files (x86)\Common Files
OS=Windows_NT
ALLUSERSPROFILE=C:\ProgramData
VBOX_INSTALL_PATH=C:\Program Files\Oracle\VirtualBox\
!::=::\
TEMP=/tmp
COMMONPROGRAMFILES=C:\Program Files (x86)\Common Files
COM.ADOBE.VERSIONCUE.CLIENT.APPNAME=AdobeDrive
USERNAME=Neil
PROCESSOR_LEVEL=6
PATH=/c/Users/Neil/bin:.:/usr/local/bin:/mingw/bin:/bin:/c/Users/NeilZanella/AppData/Local/Aptana Studio 3/jre/bin/client:/c/Users/NeilZanella/AppData/Lo
cal/Aptana Studio 3/jre/bin:/c/Users/NeilZanella/AppData/Local/Aptana Studio 3/jre/lib/i386:/c/glassfish3/jdk7/bin:/c/Program Files (x86)/Vim/vim73:/c/Pr
ogram Files/Common Files/Microsoft Shared/Windows Live:/c/Program Files (x86)/Common Files/Microsoft Shared/Windows Live:/c/Program Files (x86)/NVIDIA Co
rporation/PhysX/Common:/c/Windows/system32:/c/Windows:/c/Windows/System32/Wbem:/c/Windows/System32/WindowsPowerShell/v1.0/:/c/Program Files (x86)/Sony/VA
IO Startup Setting Tool:/c/Program Files (x86)/Windows Live/Shared:/c/Program Files (x86)/Microsoft ASP.NET/ASP.NET Web Pages/v1.0/:/c/Program Files/Micr
osoft SQL Server/110/Tools/Binn/:/c/HashiCorp/Vagrant/bin:/c/Program Files/Microsoft/Web Platform Installer/:/c/Program Files (x86)/Microsoft SQL Server/
100/Tools/Binn/:/c/Program Files/Microsoft SQL Server/100/Tools/Binn/:/c/Program Files/Microsoft SQL Server/100/DTS/Binn/:/c/Program Files (x86)/Microsof
t SQL Server/100/Tools/Binn/VSShell/Common7/IDE/:/c/Program Files (x86)/Microsoft Visual Studio 9.0/Common7/IDE/PrivateAssemblies/:/c/Program Files (x86)
/Microsoft SQL Server/100/DTS/Binn/:/c/Program Files (x86)/Microsoft SQL Server/110/Tools/Binn/:/c/Program Files/Microsoft SQL Server/110/DTS/Binn/:/c/Pr
ogram Files (x86)/Microsoft SQL Server/110/Tools/Binn/ManagementStudio/:/c/Program Files (x86)/Microsoft Visual Studio 10.0/Common7/IDE/PrivateAssemblies
/:/c/Program Files (x86)/Microsoft SQL Server/110/DTS/Binn/:/c/Program Files (x86)/QuickTime/QTSystem/:/c/glassfish3/jdk7/bin:/c/Program Files (x86)/Vim/
vim73:/c/Program Files/Common Files/Microsoft Shared/Windows Live:/c/Program Files (x86)/Common Files/Microsoft Shared/Windows Live:/c/Program Files (x86
)/NVIDIA Corporation/PhysX/Common:/c/Windows/system32:/c/Windows:/c/Windows/System32/Wbem:/c/Windows/System32/WindowsPowerShell/v1.0/:/c/Program Files (x
86)/Sony/VAIO Startup Setting Tool:/c/Program Files (x86)/Windows Live/Shared:/c/Program Files (x86)/Microsoft ASP.NET/ASP.NET Web Pages/v1.0/:/c/Program
 Files/Microsoft SQL Server/110/Tools/Binn/:/c/HashiCorp/Vagrant/bin:/c/Program Files/Microsoft/Web Platform Installer/:/c/Program Files (x86)/Microsoft
SQL Server/100/Tools/Binn/:/c/Program Files/Microsoft SQL Server/100/Tools/Binn/:/c/Program Files/Microsoft SQL Server/100/DTS/Binn/:/c/Program Files (x8
6)/Microsoft SQL Server/100/Tools/Binn/VSShell/Common7/IDE/:/c/Program Files (x86)/Microsoft Visual Studio 9.0/Common7/IDE/PrivateAssemblies/:/c/Program
Files (x86)/Microsoft SQL Server/100/DTS/Binn/:/c/Program Files (x86)/Microsoft SQL Server/110/Tools/Binn/:/c/Program Files/Microsoft SQL Server/110/DTS/
Binn/:/c/Program Files (x86)/Microsoft SQL Server/110/Tools/Binn/ManagementStudio/:/c/Program Files (x86)/Microsoft Visual Studio 10.0/Common7/IDE/Privat
eAssemblies/:/c/Program Files (x86)/Microsoft SQL Server/110/DTS/Binn/:/c/Program Files (x86)/QuickTime/QTSystem/:/c/Users/Neil/Desktop/adt-bundle-window
s-x86_64-20130219/sdk/tools:/c/Users/Neil/Desktop/adt-bundle-windows-x86_64-20130219/sdk/platform-tools:/c/Users/NeilZanella/AppData/Local/Aptana Studio
3:.
PSMODULEPATH=C:\Windows\system32\WindowsPowerShell\v1.0\Modules\;C:\Program Files (x86)\Microsoft SQL Server\110\Tools\PowerShell\Modules\
FP_NO_HOST_CHECK=NO
INPUTRC=/etc/inputrc
PWD=/c/Users/Neil
SYSTEMDRIVE=C:
PROCESSOR_ARCHITEW6432=AMD64
JAVA_HOME=C:\glassfish3\jdk7
VS120COMNTOOLS=C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\Tools\
USERPROFILE=C:\Users\Neil
LANG=IT
APTANA_VERSION=3.3.2.1358388697
CM2015DIR=C:\Program Files (x86)\Common Files\Autodesk Shared\Materials\
LOGONSERVER=\\NEIL-PC
PROCESSOR_ARCHITECTURE=x86
LOCALAPPDATA=C:\Users\Neil\AppData\Local
!C:=C:\xampp\htdocs\wordpress392
HOME=/c/Users/Neil
SHLVL=1
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
PLINK_PROTOCOL=ssh
HOMEDRIVE=C:
WINDOWS_TRACING_FLAGS=3
WINDOWS_TRACING_LOGFILE=C:\BVTBin\Tests\installpackage\csilogfile.log
MSYSTEM=MINGW32
PROMPT=$P$G
COMSPEC=C:\Windows\system32\cmd.exe
LESS=-FRSX
LOGNAME=Neil
TMP=/tmp
SYSTEMROOT=C:\Windows
PROCESSOR_REVISION=2a07
CONFIGSETROOT=C:\Windows\ConfigSetRoot
MAKE_MODE=unix
PROGRAMFILES=C:\Program Files (x86)
VS110COMNTOOLS=C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\Tools\
NUMBER_OF_PROCESSORS=4
COM.ADOBE.VERSIONCUE.CLIENT.APPVERSION=1.0.0
COM.ADOBE.VERSIONCUE.CLIENT.APPLOCALE=it_IT
PROGRAMFILES(X86)=C:\Program Files (x86)
SESSIONNAME=Console
GNUPGHOME=/c/Users/Neil/.gnupg
HISTFILE=/c/Users/Neil/.bash_history
COMPUTERNAME=NEIL-PC
OLDPWD=/c/xampp/htdocs/wordpress392
_=/bin/env

Neil@NEIL-PC ~
$ set
!::='::\'
!C:='C:\xampp\htdocs\wordpress392'
ALLUSERSPROFILE='C:\ProgramData'
APPDATA='C:\Users\Neil\AppData\Roaming'
APTANA_VERSION=3.3.2.1358388697
BASH=/usr/bin/sh
BASH_ARGC=()
BASH_ARGV=()
BASH_LINENO=()
BASH_SOURCE=()
BASH_VERSINFO=([0]="3" [1]="1" [2]="0" [3]="3" [4]="release" [5]="i686-pc-msys")
BASH_VERSION='3.1.0(3)-release'
CM2015DIR='C:\Program Files (x86)\Common Files\Autodesk Shared\Materials\'
COLUMNS=153
COM.ADOBE.VERSIONCUE.CLIENT.APPLOCALE=it_IT
COM.ADOBE.VERSIONCUE.CLIENT.APPNAME=AdobeDrive
COM.ADOBE.VERSIONCUE.CLIENT.APPVERSION=1.0.0
COMMONPROGRAMFILES='C:\Program Files (x86)\Common Files'
COMMONPROGRAMFILES(X86)='C:\Program Files (x86)\Common Files'
COMMONPROGRAMW6432='C:\Program Files\Common Files'
COMPUTERNAME=NEIL-PC
COMP_WORDBREAKS='
"'\''@><=;|&(:'
COMSPEC='C:\Windows\system32\cmd.exe'
CONFIGSETROOT='C:\Windows\ConfigSetRoot'
DIRSTACK=()
EUID=500
FP_NO_HOST_CHECK=NO
GNUPGHOME=/c/Users/Neil/.gnupg
GROUPS=()
HISTFILE=/c/Users/Neil/.bash_history
HISTFILESIZE=500
HISTSIZE=500
HOME=/c/Users/Neil
HOMEDRIVE=C:
HOMEPATH='\Users\Neil'
HOSTNAME=NEIL-PC
HOSTTYPE=i686
IFS='
'
INPUTRC=/etc/inputrc
JAVA_HOME='C:\glassfish3\jdk7'
LANG=IT
LESS=-FRSX
LINES=44
LOCALAPPDATA='C:\Users\Neil\AppData\Local'
LOGNAME=Neil
LOGONSERVER='\\NEIL-PC'
MACHTYPE=i686-pc-msys
MAILCHECK=60
MAKE_MODE=unix
MSYSTEM=MINGW32
NUMBER_OF_PROCESSORS=4
OLDPWD=/c/xampp/htdocs/wordpress392
OPTERR=1
OPTIND=1
OS=Windows_NT
OSTYPE=msys
PATH='/c/Users/Neil/bin:.:/usr/local/bin:/mingw/bin:/bin:/c/Users/NeilZanella/AppData/Local/Aptana Studio 3/jre/bin/client:/c/Users/NeilZanella/AppData/L
ocal/Aptana Studio 3/jre/bin:/c/Users/NeilZanella/AppData/Local/Aptana Studio 3/jre/lib/i386:/c/glassfish3/jdk7/bin:/c/Program Files (x86)/Vim/vim73:/c/P
rogram Files/Common Files/Microsoft Shared/Windows Live:/c/Program Files (x86)/Common Files/Microsoft Shared/Windows Live:/c/Program Files (x86)/NVIDIA C
orporation/PhysX/Common:/c/Windows/system32:/c/Windows:/c/Windows/System32/Wbem:/c/Windows/System32/WindowsPowerShell/v1.0/:/c/Program Files (x86)/Sony/V
AIO Startup Setting Tool:/c/Program Files (x86)/Windows Live/Shared:/c/Program Files (x86)/Microsoft ASP.NET/ASP.NET Web Pages/v1.0/:/c/Program Files/Mic
rosoft SQL Server/110/Tools/Binn/:/c/HashiCorp/Vagrant/bin:/c/Program Files/Microsoft/Web Platform Installer/:/c/Program Files (x86)/Microsoft SQL Server
/100/Tools/Binn/:/c/Program Files/Microsoft SQL Server/100/Tools/Binn/:/c/Program Files/Microsoft SQL Server/100/DTS/Binn/:/c/Program Files (x86)/Microso
ft SQL Server/100/Tools/Binn/VSShell/Common7/IDE/:/c/Program Files (x86)/Microsoft Visual Studio 9.0/Common7/IDE/PrivateAssemblies/:/c/Program Files (x86
)/Microsoft SQL Server/100/DTS/Binn/:/c/Program Files (x86)/Microsoft SQL Server/110/Tools/Binn/:/c/Program Files/Microsoft SQL Server/110/DTS/Binn/:/c/P
rogram Files (x86)/Microsoft SQL Server/110/Tools/Binn/ManagementStudio/:/c/Program Files (x86)/Microsoft Visual Studio 10.0/Common7/IDE/PrivateAssemblie
s/:/c/Program Files (x86)/Microsoft SQL Server/110/DTS/Binn/:/c/Program Files (x86)/QuickTime/QTSystem/:/c/glassfish3/jdk7/bin:/c/Program Files (x86)/Vim
/vim73:/c/Program Files/Common Files/Microsoft Shared/Windows Live:/c/Program Files (x86)/Common Files/Microsoft Shared/Windows Live:/c/Program Files (x8
6)/NVIDIA Corporation/PhysX/Common:/c/Windows/system32:/c/Windows:/c/Windows/System32/Wbem:/c/Windows/System32/WindowsPowerShell/v1.0/:/c/Program Files (
x86)/Sony/VAIO Startup Setting Tool:/c/Program Files (x86)/Windows Live/Shared:/c/Program Files (x86)/Microsoft ASP.NET/ASP.NET Web Pages/v1.0/:/c/Progra
m Files/Microsoft SQL Server/110/Tools/Binn/:/c/HashiCorp/Vagrant/bin:/c/Program Files/Microsoft/Web Platform Installer/:/c/Program Files (x86)/Microsoft
 SQL Server/100/Tools/Binn/:/c/Program Files/Microsoft SQL Server/100/Tools/Binn/:/c/Program Files/Microsoft SQL Server/100/DTS/Binn/:/c/Program Files (x
86)/Microsoft SQL Server/100/Tools/Binn/VSShell/Common7/IDE/:/c/Program Files (x86)/Microsoft Visual Studio 9.0/Common7/IDE/PrivateAssemblies/:/c/Program
 Files (x86)/Microsoft SQL Server/100/DTS/Binn/:/c/Program Files (x86)/Microsoft SQL Server/110/Tools/Binn/:/c/Program Files/Microsoft SQL Server/110/DTS
/Binn/:/c/Program Files (x86)/Microsoft SQL Server/110/Tools/Binn/ManagementStudio/:/c/Program Files (x86)/Microsoft Visual Studio 10.0/Common7/IDE/Priva
teAssemblies/:/c/Program Files (x86)/Microsoft SQL Server/110/DTS/Binn/:/c/Program Files (x86)/QuickTime/QTSystem/:/c/Users/Neil/Desktop/adt-bundle-windo
ws-x86_64-20130219/sdk/tools:/c/Users/Neil/Desktop/adt-bundle-windows-x86_64-20130219/sdk/platform-tools:/c/Users/NeilZanella/AppData/Local/Aptana Studio
 3:.'
PATHEXT='.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC'
PIPESTATUS=([0]="0")
PLINK_PROTOCOL=ssh
POSIXLY_CORRECT=y
PPID=1
PROCESSOR_ARCHITECTURE=x86
PROCESSOR_ARCHITEW6432=AMD64
PROCESSOR_IDENTIFIER='Intel64 Family 6 Model 42 Stepping 7, GenuineIntel'
PROCESSOR_LEVEL=6
PROCESSOR_REVISION=2a07
PROGRAMDATA='C:\ProgramData'
PROGRAMFILES='C:\Program Files (x86)'
PROGRAMFILES(X86)='C:\Program Files (x86)'
PROGRAMW6432='C:\Program Files'
PROMPT='$P$G'
PS1='\[\033]0;$MSYSTEM:\w\007
\033[32m\]\u@\h \[\033[33m\w$(__git_ps1)\033[0m\]
$ '
PS2='> '
PS4='+ '
PSMODULEPATH='C:\Windows\system32\WindowsPowerShell\v1.0\Modules\;C:\Program Files (x86)\Microsoft SQL Server\110\Tools\PowerShell\Modules\'
PUBLIC='C:\Users\Public'
PWD=/c/Users/Neil
SESSIONNAME=Console
SHELL=/bin/sh
SHELLOPTS=braceexpand:emacs:hashall:histexpand:history:interactive-comments:monitor:posix
SHLVL=1
SYSTEMDRIVE=C:
SYSTEMROOT='C:\Windows'
TEMP=/tmp
TERM=cygwin
TMP=/tmp
UID=500
USERDOMAIN=NEIL-PC
USERNAME=Neil
USERPROFILE='C:\Users\Neil'
VBOX_INSTALL_PATH='C:\Program Files\Oracle\VirtualBox\'
VS110COMNTOOLS='C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\Tools\'
VS120COMNTOOLS='C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\Tools\'
WINDIR='C:\Windows'
WINDOWS_TRACING_FLAGS=3
WINDOWS_TRACING_LOGFILE='C:\BVTBin\Tests\installpackage\csilogfile.log'
_=env
__git_all_commands=
__git_diff_common_options='--stat --numstat --shortstat --summary
                        --patch-with-stat --name-only --name-status --color
                        --no-color --color-words --no-renames --check
                        --full-index --binary --abbrev --diff-filter=
                        --find-copies-harder
                        --text --ignore-space-at-eol --ignore-space-change
                        --ignore-all-space --exit-code --quiet --ext-diff
                        --no-ext-diff
                        --no-prefix --src-prefix= --dst-prefix=
                        --inter-hunk-context=
                        --patience
                        --raw
                        --dirstat --dirstat= --dirstat-by-file
                        --dirstat-by-file= --cumulative
'
__git_fetch_options='
        --quiet --verbose --append --upload-pack --force --keep --depth=
        --tags --no-tags --all --prune --dry-run
'
__git_log_common_options='
        --not --all
        --branches --tags --remotes
        --first-parent --merges --no-merges
        --max-count=
        --max-age= --since= --after=
        --min-age= --until= --before=
'
__git_log_date_formats='relative iso8601 rfc2822 short local default raw'
__git_log_gitk_options='
        --dense --sparse --full-history
        --simplify-merges --simplify-by-decoration
        --left-right
'
__git_log_pretty_formats='oneline short medium full fuller email raw format:'
__git_log_shortlog_options='
        --author= --committer= --grep=
        --all-match
'
__git_merge_options='
        --no-commit --no-stat --log --no-log --squash --strategy
        --commit --stat --no-squash --ff --no-ff --ff-only
'
__git_merge_strategies=
__git_mergetools_common='diffuse ecmerge emerge kdiff3 meld opendiff
                        tkdiff vimdiff gvimdiff xxdiff araxis p4merge
'
__git_porcelain_commands=
__git_send_email_confirm_options='always never auto cc compose'
__git_send_email_suppresscc_options='author self cc bodycc sob cccmd body all'
__git_whitespacelist='nowarn warn error error-all fix'
i='/etc/profile.d/*.sh'

Neil@NEIL-PC ~
$

관심 변수는 다음과 같습니다.

팁=$P$G

PS1='[\033]0;$MSYSTEM:\w\007\033[32m]\u@\h [\033[33m\w$(__git_ps1)\033[0m] $ ' PS2='> ' PS4 ='+'

누군가 이러한 변수가 어떻게 상호 작용하는지 설명할 수 있습니까? $G와 $(__git_ps1)은 무엇입니까?

감사해요.

답변1

저는 Aptana Studio에 대해 잘 모르지만 셸 프롬프트에 영향을 미칠 수 있는 여러 메커니즘이 있습니다. 나는 당신이 언급한 대로 Bash를 사용하고 있다고 가정 .bash_profile합니다 .bashrc.

가장 간단한 메커니즘은 PS1변수(POSIX 쉘과 같은 쉘을 포함하여 대부분의 쉘에서 지원됨 dash)를 설정하는 것인데, 이는 반드시 환경 변수일 필요는 없습니다. 프롬프트의 일부로 정보를 인쇄하기 위해 다양한 이스케이프 시퀀스를 넣을 수 있습니다. 확인하려면 PS1다음 명령을 실행하십시오.

echo $PS1

그러나 현재 Git 브랜치( )를 인쇄하는 데 자체적으로 사용할 수 있는 시퀀스는 없습니다 master.

PROMPT_COMMAND프롬프트가 표시되기 전에 실행할 함수를 지정하는 변수 도 있습니다 . 이 함수를 사용하여 임의의 프롬프트를 생성할 수 있습니다. 다음은 설명하는 동작의 구현 예입니다.

foobar() {
    local branch
    branch=$(git branch 2>/dev/null | grep '^*') || branch='?'
    branch=${branch##* }
    # \w: current working directory
    PS1="\\w ($branch) "
}
PROMPT_COMMAND=foobar

Bash는 시작 시 여러 파일을 읽습니다.

  • /etc/profile
  • ~/.bash_profile
  • ~/.bashrc
  • ~/.profile
  • 지정된 파일을 사용하십시오.--rcfile

이들 중 누구라도 프롬프트 설정을 담당할 수 있습니다. Aptana Studio는 사용자 정의 시작 파일을 제공할 수 있습니다.

팁 섹션에서 팁에 대한 자세한 내용을 확인할 수 있습니다.배쉬 매뉴얼 페이지.

고쳐 쓰다

PS1제공한 값 에는 $(__git_ps1)command 의 출력으로 확장되는 대체(표준 Bash 명령 대체 구문을 따르지만 정의할 때가 아니라 사용할 때 확장)가 있습니다 __git_ps1. 다음과 같은 모습을 알 수 있습니다.

type -a __git_ps1

함수 또는 별칭인 경우 해당 정의가 인쇄됩니다. 실행 파일인 경우 해당 경로가 표시됩니다.

관련 정보