Fish Shell
Installation
- brew๋ก ์ค์นํ๋ค:
$ brew install fish
- ๊ธฐ๋ณธ ์๋ก ์ฐ๋ ค๋ฉด:
$ echo /usr/local/bin/fish | sudo tee -a /etc/shells $ chsh -s /usr/local/bin/fish
Plugins
- oh-my-fish์ fisher๊ฐ ์์. ๋ญ๊ฐ ๋ ์ข์์ง๋ ๋ชจ๋ฅด๊ฒ ๋ค.
- ๋ด SDD(Star Driven Development) ์์น์ ๋ฐ๋ผ oh-my-fish๋ฅผ ์ค์นํ๋ค:
$ curl -L https://get.oh-my.fish | fish
dracula
https://github.com/dracula/fish
$ omf install https://github.com/dracula/fish
z
https://github.com/oh-my-fish/plugin-z
$ omf install z
Variable
Scope[1]
- universal: ๋ชจ๋ ์ธ์
์ฌ์ด์ ๊ณต์ ๋๋ ๋ณ์. (
set -U
) - global: ํ์ฌ ์ธ์
์ ํ์ ๋๋ฉฐ,
set -e
๋ช ๋ น์ผ๋ก ์ง์ฐ์ง ์๋ ์ด์ ์ง์์ง์ง ์๋ ๋ณ์. (set -g
) - local: ํ์ฌ ์ธ์
๊ณผ ํน์ ๋ช
๋ น ๋ธ๋ก์ ํ์ ๋๋ฉฐ, ํด๋น ๋ธ๋ก ๋ฒ์๋ฅผ ๋ฒ์ด๋๋ฉด ์ง์์ง๋ ๋ณ์. (
set -l
)
Exporting[2]
- ๋ณ์๋ฅผ exportํ๋ค๋ ๊ฒ์ ํด๋น ๋ณ์๋ฅผ ์ธ๋ถ ๋ช ๋ น์๊ฒ ์ ๊ณตํ๊ฒ ๋ค๋ ์๋ฏธ๋ค.
set
๋ช ๋ น์-x
(--export
) ์ต์ ์ ์ฌ์ฉํ๋ฉด exported variable์ ๋ง๋ค ์ ์๋ค.- "exported"๋ ๋ณ์์ ์ค์ฝํ๋ฅผ ์๋ฏธํ์ง ์๋๋ค.
PATH[3]
- PATH ๋ณ์๋ ์์ด ๋ช ๋ น์ ๊ฒ์ํ๊ธฐ ์ํ ๋๋ ํ ๋ฆฌ๋ฅผ ํฌํจํ๋ ํน์ํ ํ๊ฒฝ ๋ณ์๋ค.
- ๊ฒฝ๋ก๋ฅผ ์ถ๊ฐํ๋ ๊ฐ์ฅ ๋น ๋ฅธ ๋ฐฉ๋ฒ์
fish_add_path
ํจ์๋ฅผ ์ฌ์ฉํ๋ ๊ฒ:$ fish_add_path /usr/local/bin
- ์ถ๊ฐํ๋ ค๋ ๊ฒฝ๋ก๊ฐ ๊ธฐ์กด
$PATH
์ ์์ ๋๋ง ์ถ๊ฐ๋๋ค. - ๋ฐ๋ผ์
config.fish
ํ์ผ์ ๋ฃ์ด๋ฌ๋ ์์ ํ๋ค.
- ์ถ๊ฐํ๋ ค๋ ๊ฒฝ๋ก๊ฐ ๊ธฐ์กด
- PATH ๋ณ์์ ์ง์
/usr/local/bin
์/usr/sbin
๋ฅผ ์ถ๊ฐํ๋ ๊ฒฝ์ฐ:$ set PATH /usr/local/bin /usr/sbin $PATH
- PATH ๋ณ์์์
/usr/local/bin
๋ฅผ ์ ๊ฑฐํ๋ ๊ฒฝ์ฐ:$ set PATH (string match -v /usr/local/bin $PATH)