기본적으로 터미널 프롬프트는 다음과 같이 표시됩니다.
user@system:/folder1/folder2/folder3/folder4$
파일 시스템에 깊이 들어가면 명령을 입력 할 공간이 줄어 듭니다. 이것을 다음과 같이 표시하도록 변경할 수 있습니까?
>
나는 내가 pwd
어디에 있는지 보여주기 위해 타이핑 할 수 있다는 것을 의미 합니다. ;)
기본적으로 터미널 프롬프트는 다음과 같이 표시됩니다.
user@system:/folder1/folder2/folder3/folder4$
파일 시스템에 깊이 들어가면 명령을 입력 할 공간이 줄어 듭니다. 이것을 다음과 같이 표시하도록 변경할 수 있습니까?
>
나는 내가 pwd
어디에 있는지 보여주기 위해 타이핑 할 수 있다는 것을 의미 합니다. ;)
답변:
export PS1='\u@\h: '
그 결과 oli@bert:
내 프롬프트가 나타납니다.
요청한대로 미니멀 한 것을 원한다면 다음을 시도하십시오.
export PS1='> '
~/.bashrc
파일 끝에 첨부하여 로그인간에 유지되도록 할 수 있습니다.
일부 색상으로 창의력을 발휘할 수도 있습니다. 서버에서 사용하는 내용은 다음과 같습니다.
export PS1='\[\033[0;35m\]\h\[\033[0;33m\] \w\[\033[00m\]: '
주는 것 (검은 색 배경에서보기가 더 쉽습니다) :
Oli의 답변을 확장하기 위해 (그리고 나는 짧은 기호에 대한 책갈피를 갖도록) :
bash 프롬프트 ( stefano@linux:~$
)는 다음과 같은 몇 가지 프롬프트 중 첫 번째 프롬프트입니다.
PS1 : 쉘을 열 때 나타나는 기본 프롬프트
값은이라는 환경 변수에 저장됩니다 PS1
. 값을 보려면 다음을 입력하십시오.
echo $PS1
이것은 당신에게 같은 것을 줄 것입니다
\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\u@\h:\w\$
이를 변경하기 위해 변수에 새 값을 설정할 수 있습니다.
export PS1="\u > "
다음과 같은 프롬프트가 나타납니다.
stefano >
PS2 : 보조 프롬프트입니다. 명령이 완료되지 않으면 표시됩니다. 입력 echo "asd
하고 Enter 키를 누르면 보조 프롬프트에서 반전 된 쉼표를 닫을 때까지 더 많은 줄을 입력 할 수 있습니다.
PS4는 사용되는 프롬프트입니다 스택 트레이스 (기본값 : +
)
변경 사항을 영구적으로 유지하려면 홈 디렉토리 의 끝에 .bash_profile
(또는 이 질문.bashrc
참조 ) 추가 하십시오 .
다음은 이들을 작성할 때 사용할 수있는 약식 목록입니다.
\a
'벨'캐릭터\A
24 시간\d
날짜 (예 : 12 월 21 일 화요일)\e
'탈출'캐릭터\h
호스트 이름 (첫 번째 "."까지)\H
호스트 이름\j
현재 실행중인 작업 수 (ps)\l
현재 tty\n
줄 바꿈\t
시간 (hh : mm : ss)\T
시간 (hh : mm : ss, 12h 형식)\r
캐리지 리턴\s
셸 (예 : bash, zsh, ksh.)\u
사용자 이름\v
배쉬 버전\V
풀 배쉬 릴리스 문자열\w
현재 작업 디렉토리\W
현재 작업 디렉토리의 마지막 부분\!
역사상 현재 지수\#
명령 색인\$
루트 인 경우 "#", 그렇지 않으면 "$"\\
리터럴 백 슬래시\@
시간 (오전 / 오후 12시 형식)물론 리터럴 문자열과 명령을 삽입 할 수 있습니다.
export PS1="\u \$(pwd) > "
어디 $(pwd)
PWD "의 출력"의 자리에 서있다.
\$(pwd)
프롬프트가 표시 될 때마다 평가되고, 그렇지 않으면에서와 같이 $(pwd)
bash가 시작될 때 한 번만 평가됩니다.프롬프트에 색상을 표시하려면 bash의 색상 코드를 사용하여 색상을 지정할 수 있습니다. 코드는 세 부분으로 구성됩니다.
40;33;01
세미콜론 앞의 첫 부분은 텍스트 스타일을 나타냅니다.
두 번째와 세 번째 부분은 색상과 배경색입니다.
왼쪽에서 시작한다고 가정하면 각 부분을 생략 할 수 있습니다. 즉 "1"은 굵은 체를 의미하고 "1; 31"은 굵은 체와 빨간색을 의미합니다. 그리고 당신은 당신의 터미널로 명령을 탈출하여 컬러로 인쇄 할 얻을 것 \33[
와 함께 종료 m
. 33 또는 16 진의 1B는 ASCII 부호 "ESCAPE"(ASCII 문자 세트의 특수 문자)입니다. 예:
"\33[1;31mHello World\33[m"
"Hello World"를 밝은 빨간색으로 인쇄합니다.
export PS1='\[\033[1;31m\]\w\[\033[00m\] \$> '
로 /etc/bash.bashrc
하지만 아무것도 ... 그것은 세션 당에서 작동 수정 한 것처럼 보입니다,하지만 난 그것을 영구적으로 보인다 기운 다.
또 다른 대안은 작업 디렉토리 경로가 너무 길어질 때 단축하는 것입니다. 터미널 명령 프롬프트 작업 디렉토리 다듬기
원하는 트리밍 로직을 구현하는 작은 파이썬 스크립트를 만듭니다.
예 : ~ / short.pwd.py
import os from commands import getoutput from socket import gethostname hostname = gethostname() username = os.environ['USER'] pwd = os.getcwd() homedir = os.path.expanduser('~') pwd = pwd.replace(homedir, '~', 1) if len(pwd) > 30: pwd = pwd[:10]+'...'+pwd[-20:] # first 10 chars+last 20 chars print '[%s@%s:%s] ' % (username, hostname, pwd)
이제 터미널에서 테스트하십시오.
export PROMPT_COMMAND='PS1="$(python ~/.short.pwd.py)"'
결과가 좋으면 ~ / .bashrc에 명령을 추가하십시오.
나는 종종 이것을 일시적으로하고 싶다. 내가하는 일은 다음과 같습니다.
$ export OLD_PS1=$PS1 # save Long Prompt to OLD_PS1
$ export PS1="\u > "export PS1="\u $ " # change to PS1 to Short Prompt
$ export PS1=$OLD_PS1 # restore Long Prompt to PS1
나는 이것이 누군가를 돕기를 바랍니다.
export PS1="\n___"