OS X 터미널 색상 [닫힘]


492

나는 OS X를 처음 접했고 우분투 리눅스로 잠시 작업 한 후 Mac을 얻었습니다. 내가 알아 내기 위해 노력하고있어 많은 것들 중 내 터미널 창에서 색상의 부재입니다 - 실행할 때 (리눅스) 표시되는 것과 같은 ls -la또는 git status...

쉘에서 색상을 활성화하는 방법을 알 수 없습니다.



32
"주제를 벗어난"것으로 닫혔지만 osx, shell, terminal, colors ...의 태그를 보면 완전히 토픽 인 것 같습니다. 터미널을 사용하여 쉘에 관한 OSX를 다루고 색상을 추가하려고합니다. bash 프로파일을 편집해야합니다. 그래서 주제에 관한 것입니다.
Danijel-James W

12
분명히 주제에 관한 것은 bash 스크립팅에 관한 것입니다.
superluminary

5
폐쇄, 당신은 농담해야합니다! 분명히 이것은 많은 (대부분 새로운) Mac 코더에 대한 유틸리티와 가치를 가지고 있습니다. 이러한 마무리가 주제를 벗어난 것에 대해 심각하다면 SE Think Different라고 말하도록 마이그레이션하지 않는 것이 좋습니다. 나는 그것을 다른 SE 그룹에서 사용되는 기능을 지원한다고 생각합니다.
Cam_Aust

이 답변을 살펴보십시오 : stackoverflow.com/a/48216286/3782119
Shayan Amani

답변:


745

다음은 글로벌 터미널 색상 을 활성화하는 것으로 밝혀진 솔루션 입니다.

편집합니다 .bash_profile(OS X 10.8 이후) - 또는 (10.7 및 이전 버전) : .profile.bashrc또는 /etc/profile(가용성에 따라) - 홈 디렉토리와 다음 코드를 추가합니다 :

export CLICOLOR=1
export LSCOLORS=GxFxCxDxBxegedabagaced

CLICOLOR=1 단순히 터미널을 색칠 할 수 있습니다.

LSCOLORS=... 특정 항목의 색상을 지정하는 방법을 지정합니다.

편집 후 .bash_profile터미널을 시작하고 다음을 실행하여 변경 사항을 적용하십시오.

source ~/.bash_profile

로 이동 Terminal > Preferences하여 Profiles탭을 클릭 한 다음 Text하위 탭을 클릭 하고 확인하십시오 Display ANSI Colors.

Sierra에서 확인되었습니다 (2017 년 5 월).


21
.bash_profile에 추가 하여이 작업을 수행했습니다. 그래도 .profile에 추가했을 때 작동하지 않았습니다. 감사!
Morten

10
방금 편집 /etc/profile한 결과 매력처럼 작동합니다.
Cyclonecode

2
@Morten 및 bash 프로파일로 어려움을 겪고있는 다른 사람들은 다음 답변과 설명 및 해결책을 참조하십시오 : stackoverflow.com/a/7780055/665488 , superuser.com/a/244990 .
Cam Jackson

4
dotfiles / .aliases 는 훌륭한 export LS_COLORS진술을 가지고 있습니다
bobobobo

16
리눅스가 사용하는 것과 같은 색 (적어도 데비안과 우분투)을 LSCOLORS=ExGxFxdxCxDxDxxbaDecac
원한다면

125

시작 스크립트 중 하나에서 Linux 기반 구문을 사용할 수 있습니다. OS X Mountain Lion 박스에서 이것을 테스트했습니다.

예. 당신의~/.bash_profile

export TERM="xterm-color" 
export PS1='\[\e[0;33m\]\u\[\e[0m\]@\[\e[0;32m\]\h\[\e[0m\]:\[\e[0;34m\]\w\[\e[0m\]\$ '

이것은 당신에게 멋진 컬러 프롬프트를 제공합니다. 컬러 ls출력 을 추가하려면을 추가 할 수 있습니다 alias ls="ls -G".

테스트하려면 a source ~/.bash_profile를 실행 하여 현재 터미널을 업데이트하십시오.

색상에 대한 참고 사항 : 색상 앞에는 이스케이프 시퀀스가 ​​있으며 이스케이프 된 시퀀스 \e로 구성 [style;color+m]되고 래핑 된 색상 값으로 정의됩니다 []. 예.

  • 빨간색 = \[\e[0;31m\]
  • 굵은 빨간색 (스타일 1) = \[\e[1;31m\]
  • 선명한 채색 = \[\e[0m\]

나는 항상 루트의 .bash_profile에 약간 수정 된 색 구성표를 추가하여 사용자 이름을 빨간색으로 만들므로 루트로 로그인하면 항상 명확하게 보입니다 (많은 터미널 창이 열려 있으면 실수를 피할 수 있습니다).

에서 /root/.bash_profile:

PS1='\[\e[0;31m\]\u\[\e[0m\]@\[\e[0;32m\]\h\[\e[0m\]:\[\e[0;34m\]\w\[\e[0m\]\$ '

온라인상의 모든 SSH 계정에 대해 로컬 또는 원격 터미널에 있는지 구별하기 위해 호스트 이름을 빨간색으로 표시해야합니다. .bash_profile서버의 홈 디렉토리에 있는 파일을 편집하기 만하면 됩니다. 서버에 .bash_profile파일 이없는 경우 파일을 만들 수 있으며 로그인시 소스로 지정해야합니다.

MacOS를 자주 사용하지 않기 때문에 아래 설명 중 일부를 읽으십시오.

원격 서버에서이 작업을 수행하려면 ~/.bash_profile파일이 있는지 확인하십시오 . 그렇지 않은 경우 간단히 작성하면 다음에 로그인 할 때 자동으로 제공됩니다.


2
온라인으로 ssh 계정에 대한 bash_profile을 어떻게 편집합니까?
Andy

1
다음과 같이 대신에 PS1더 좋습니다 .$PWD\uPS1=\[\e[0;31m\]$PWD\[\e[0m\]@\[\e[0;32m\]\h\[\e[0m\]:\[\e[0;34m\]\w\[\e[0m\]\$
cregox

1
다음 프롬프트에 대한 코드의 좀 더 설명입니다 : wiki.archlinux.org/index.php/Color_Bash_Prompt#Step_by_step .
JohnK

1
이 링크들도 도움이 될 수 있습니다 : ANSI 색상 코드 이스케이프 시퀀스 . PS1 코드에 대한 추가 정보 .
JohnK

1
이 색상 코드를 사용하여 PROMPT_COMMAND 색상을 El Capitan (OS X 10.11)에서 올바르게 표시하는 데 문제가있었습니다. 에 사용될 때 대신 구문 PROMPT_COMMAND을 사용해야 한다는 것이 밝혀졌습니다 . 프롬프트 전에 색상이 지정된 타임 스탬프를 추가하는 예 ( 또는에 포함 ) :\033\e~/.bashrc~/.bash_profilePROMPT_COMMAND="${PROMPT_COMMAND}; echo; echo -e '\033[0;35m'\[\$(date +%F\ %T)\]'\033[m'"
user5359531

42

MartinVonMartinsgrün 및 4Levels 방법은 Mac OS X Mountain Lion에서 잘 작동합니다.

업데이트해야 할 파일은 ~ / .profile입니다.

그러나 내가 좋아하는 응용 프로그램 iTerm 2를 추천하지 않고이 질문을 남길 수 없었습니다 .

iTerm 2를 사용하면 파일에서 전체 색 구성표를로드 할 수 있습니다. 실험하기 쉽고 많은 색 구성표를 사용해보십시오.

다음은 iTerm 2 창의 스크린 샷과 색상 기본 설정입니다. iTerm2 색상 기본 설정 스크린 샷 Mac

~ / .profile 파일에 다음을 추가하면 iTerm 2에서 색상을 무시할 수있었습니다.

export CLICOLOR=1
export LSCOLORS=GxFxCxDxBxegedabagaced
export PS1='\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '

다음은 멋진 사전 설정이있는 훌륭한 저장소입니다.

mbadolato의 Github에서 iTerm2 색 구성표

보너스 : "시스템 전체 핫키로 iTerm2 표시 / 숨기기"를 선택 하고 마우스 제스처로 터미널을 즉시 숨기거나 표시하려면 BetterTouchTool 을 사용 하여 키를 바인딩하십시오 .


1
iTerm2가 종종 내 시스템에서 다운되었으므로 oh-my-zsh github.com/robbyrussell/oh-my-zsh 로 전환했습니다 . 테마도 있습니다
LuckyMalaka

야! baskerville링크를 적절한 것으로 변경 하십시오. 복사 붙여 넣기가 잘못된 것 같습니다.
Jevgeni Smirnov

@NickWoodhams, 스크린 샷에서 사용중인 색상 테마는 무엇입니까?
Indradhanush Gupta

1
@IndradhanushGupta 어떤 색 구성표인지 확실하지 않은지 얼마 전입니다. 그러나 이제는 Pure ZSH 테마를 사용하고 좋아합니다.github.com/sindresorhus/pure
Nick

1
이것은 좋은 색 구성표이며 // dirs 등의 항목 유형을 확인하는 데 필요한 것
rio

17

ls를 색상 화하려면 ~ / .bash_profile 파일을 편집하고 다음 줄을 추가하십시오 (아직 작성되지 않은 경우).

source .bashrc

그런 다음 ~ / .bashrc 파일을 편집하거나 작성하고 ls 명령에 별명을 작성하십시오.

alias ls="ls -G"

이제 source .bashrc터미널을 이미 시작한 경우 입력 하거나 새 터미널을 열어야합니다.

더 많은 옵션을 원한다면 ls 하면 설명서 ( man ls)를 읽으십시오 . 옵션은 GNU / Linux 시스템과 동일하지 않습니다.


6
다소 더 나은 옵션은 'alias'정의를 'export CLICOLOR = ""'으로 바꾸는 것입니다. 이것은 환경 변수가 상속되고 별칭이 상속되지 않는 한 터미널 세션 중에 쉘을 전환하더라도 일반적으로 계속 작동한다는 이점이 있습니다.
Ned Deily

5

tcsh를 사용하는 경우 ~/.cshrc파일을 편집하여 행을 포함 시키십시오.

setenv CLICOLOR 1
setenv LSCOLORS dxfxcxdxbxegedabagacad

Martin이 말한 것처럼 LSCOLORS는 사용하려는 색 구성표를 지정합니다.

사용하려는 LSCOLORS를 생성하려면이 사이트를 확인 하십시오.


4
bash2003 년 10 월 이후 OS X의 기본이었다
nelsonjchen

1
내 생각 엔 당신이 맞다. 방금 새 Mac을 얻었고 기본값으로 bash가있었습니다. IT 부서에서 기본적으로 tcsh를 사용하도록 Mac을 설정 한 것 같습니다.
smaccoun

1
링크는 굉장합니다!
Sankalp

4

$ TERM이 제공하는 내용을 확인하십시오. 내 xterm-color이고 ls -alG는 색상 화 된 출력을 수행합니다.


글쎄,와 함께 선장에 xterm-256color, 나는 색상이 없습니다. CLICOLOR그리고 LSCOLORS그것을 변경하지 마십시오) :
drevicko

2

랩에서 Mac OS X을 작업 할 때 X11이 아닌 Terminal을 사용하고 Mac 메뉴 표시 줄에서 프로파일을 편집하여 터미널 색상을 얻을 수있었습니다. 인터페이스는 색상이 약간 이상하지만 수정 된 테마를 기본값으로 설정해야합니다.

추가 설정은 편집하여 작동했습니다 .bashrc.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.