# 친근한 인터랙티브 쉘 - Fish

> Clean Markdown view of GeekNews topic #10580. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=10580](https://news.hada.io/topic?id=10580)
- GeekNews Markdown: [https://news.hada.io/topic/10580.md](https://news.hada.io/topic/10580.md)
- Type: GN+
- Author: [neo](https://news.hada.io/@neo)
- Published: 2023-08-28T10:32:17+09:00
- Updated: 2023-08-28T10:32:17+09:00
- Original source: [github.com/fish-shell](https://github.com/fish-shell/fish-shell)
- Points: 2
- Comments: 2

## Topic Body

- Fish는 macOS, Linux 및 기타 Unix 계열 운영체제를 위한 사용자 친화적인 커맨드라인 쉘  
- 구문 강조, 타이핑 중 자동 제안, 설정 없이 작동하는 탭 완성 등의 기능을 제공  
- bash 또는 zsh와 같은 다른 쉘과 유사하게 작동하지만, 주요 차이점이 있음  
  - 변수를 설정할 때 다른 셸에서 사용하는 `=` 연산자 대신 `set` 명령어를 사용 :  `set name 'Mister Noodle'`  
  - 변수 치환 이후 추가로 값을 분리하지 않으며, 이는 공백이 포함된 값을 처리할 때 유용 : `mkdir $name  # 하나의 디렉토리 "Mister Noodle" 생성`  
  - 명령 치환에서 백틱(``) 대신 $() 또는 ()를 사용:  `echo "Current directory: $(pwd)"`  
  - 명령 치환의 출력값을 공백 대신 줄바꿈(newline)으로만 분리  
  - 모든 변수를 리스트로 처리하며, 다른 셸의 문자열 기반 변수와 다름 : `set PATH /usr/bin /bin`  
  - 리스트 요소를 접근할 때 1부터 시작하는 인덱스를 사용 : `echo $PATH[1]`  
  - 별칭(alias)을 지원하지 않으며, 대신 함수(function)를 사용  
  - &&, ||뿐만 아니라 and, or, not 키워드를 지원 : `command1; and command2; or command3`  
  - 명령어와 히스토리를 기반으로 실시간 추천(autosuggestions)을 제공 : `grep --ignore-case`  
  - .bashrc 대신 ~/.config/fish/config.fish 파일을 구성 파일로 사용  
- Homebrew, MacPorts 또는 공식 웹사이트를 통해 macOS에 설치할 수 있음. 지원되는 최소 macOS 버전은 10.10 "Yosemite"  
- curses 또는 ncurses, 일반적인 Unix 시스템 유틸리티, 그리고 선택적으로 번역 지원을 위한 gettext 라이브러리와 같은 특정 의존성이 있음  
- Fish를 기본 쉘로 사용하려면 `chsh -s /usr/local/bin/fish` 명령을 사용  
- Fish는 현재 Rust로 포팅되고 있으며, 모든 C++ 코드를 대체함

## Comments



### Comment 18671

- Author: joyfui
- Created: 2023-08-28T19:07:38+09:00
- Points: 1

지금 zsh 사용 중인데 다음에 기회되면 한번 fish도 써봐야겠어요.

### Comment 18654

- Author: neo
- Created: 2023-08-28T10:32:17+09:00
- Points: 1

###### [Hacker News 의견](https://news.ycombinator.com/item?id=37272611) 
- Fish는 최소한의 설정 요구로 시간 효율적인 도구로 인정받음.
- 사용자들은 Fish가 zsh보다 더 사용자 친화적이며, 설정 중 문제가 더 적다고 발견함.
- Fish는 사용자 스크립트에서 잘 처리되지 않는 특이 사례가 적어 견고함으로 칭찬받음.
- 일부 사용자들은 10년 이상 Fish를 사용해왔으며, bash보다 더 단순하고 직관적이라고 느낌.
- Fish는 패키지 매니저와 플러그인을 사용하는 zsh 설정이 필요한 것을 추가 기능 없이도 달성할 수 있어 그 기능성을 인정받음.
- 그러나 일부 사용자들은 bash 호환성의 부재가 단점으로 느껴짐, 다른 스크립트 언어로 전환하는 것이 필요하기 때문임.
- 일부 사용자들은 Fish의 설정 가능한 옵션 부재로 인해 Fish에서 zsh로 전환함.
- 이러한 단점에도 불구하고, 사용자들은 Fish를 자신의 기계에 좋은 추가로 여기며, 가끔 bash와 함께 사용함.
- 전반적으로, Fish는 호환성과 설정 가능성의 일부 제한에도 불구하고 사용자 친화적이고 효율적이며 견고한 쉘로 간주됨.
