[Bash] macOS에서 shell customize하기

2023. 10. 6. 16:55Developers 공간 [Shorts]/Software Basic

728x90
반응형
<분류>
A. 수단
- OS/Platform/Tool : Linux, Kubernetes(k8s), Docker, AWS
- Package Manager : node.js, yarn, brew, 
- Compiler/Transpillar : React, Nvcc, gcc/g++, Babel, Flutter

- Module Bundler  : React, Webpack, Parcel

B. 언어
- C/C++, python, Javacsript, Typescript, Go-Lang, CUDA, Dart, HTML/CSS

C. 라이브러리 및 프레임워크 및 SDK
- OpenCV, OpenCL, FastAPI, PyTorch, Tensorflow, Nsight

 


1. What? (현상)

Linux 기반의 CentOS 혹은 Ubuntu로 작업을 할때와 달리 macOS에서 작업시는 아래와 같이 새로운 셋팅을 해야하는 경우가 있어 정리합니다.

  • Tab을 눌렀을 때 메뉴들이 Auto Completion되는 것 막기 
  • Shell에 색깔 추가하기

2. Why? (원인)

  • X

3. How? (해결책)

1. Tab을 눌렀을 때 메뉴들이 Auto Completion되는 것 막기 

 

macOS에서 사용하고 있는 shell이 무엇인지 먼저 확인해봅니다

echo $SHELL

1-1. /bin/bash 인 경우

bash를 활용하는 경우 메뉴의 auto completion기능은 켜져있지 않아 문제가 되지 않을 것 같습니다.

 

** 혹시 zsh를 설치해서 셋팅하고 싶다면 아래와 같은 명령어로 zsh를 설치하고 바꿀 수 있습니다.

brew install zsh
chsh -s /bin/zsh

 

1-2. /bin/zsh 인 경우

zsh인 경우 사용해보신 분들은 아시겠지만 위에서 말씀드린 것과 같이 메뉴들이 auto completion 되는 불편함이 있는데, 이를 없애려면 아래와 같이 "setopt noautomenu" 명령어를 활용해 이런 기능을 꺼줍니다.

setopt # Check Options
setopt noautomenu # Remove Auto Menu-completion
unsetopt noautomenu # Initialization

 

2. Shell에 색깔 추가하기

 

macOS의 shell을 활용할 때는 graphical 한 색깔이 없기 때문에 Directory와 File을 구분할 정도의 색깔을 추가하고 싶습니다.

 

먼저 zsh인 경우 ~/.zshrc 혹은 ~/.zshenv, bash인 경우 ~/.bash_profile 혹은 ~/.bashrc에 아래를 추가해줍니다. 이는 ls명령어를 graphical 하게 실행하기 위함입니다.

alias ls='ls -G'

다음으로 해당위치 아래, 아래와 같은 두줄을 추가해 색깔을 customize할 수도 있습니다.

export CLICOLOR=1
export LSCOLORS=GxFxCxDxBxegedabagaced

LSCOLORS의 경우 ls했을 때 아래와 같은 순서로 색깔을 직접 지정해주는 것입니다.

  • 1. directory
  • 2. symbolic link
  • 3. socket
  • 4. pipe
  • 5. executable
  • 6. block special
  • 7. character special
  • 8. executable with setuid bit set
  • 9. executable with setgid bit set
  • 10. directory writable to others, with sticky bit
  • 11. directory writable to others, without sticky bit

색깔은 아래를 참조하면 설정할 수 있으며, 두개를 연속으로 써주는데 순서대로 foreground와 background(배경)을 적어줍니다.

  • a black
  • b red
  • c green
  • d brown
  • e blue
  • f magenta
  • g cyan
  • h light grey
  • A bold black, usually shows up as dark grey
  • B bold red
  • C bold green
  • D bold brown, usually shows up as yellow
  • E bold blue
  • F bold magenta
  • G bold cyan
  • H bold light grey; looks like bright white
  • x default foreground or background

 

https://infosecmonkey.com/adding-color-to-your-macos-ls-output/

728x90
반응형