[Unix] Fish Shell

fish shell์€ Rust๋กœ ๋งŒ๋“ค์–ด์ง„ ์ธ์ฒด๊ณตํ•™์ ์ธ shell ๋„๊ตฌ๋‹ค.
bash ๊ฐ™์€ ๊ธฐ๋ณธ ์…ธ๋“ค์— ๋น„ํ•ด์„œ ํ›จ์”ฌ ์‚ฌ์šฉ์„ฑ์ด ์ข‹์€๊ฒŒ ํŠน์ง•์ด๋‹ค.

Unix ๊ณ„์—ด, MacOS, Linux์—์„œ๋งŒ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜๋‹ค. ์œˆ๋„๋Š” ์•ˆ๋œ๋‹ค.




์„ค์น˜ (Mac)

mac์€ brew๋ฅผ ํ†ตํ•ด์„œ ๊ฐ„ํŽธํ•˜๊ฒŒ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ๋‹ค.

brew install fish




์„ค์น˜ (Ubuntu)

์šฐ๋ถ„ํˆฌ์˜ ๊ฒฝ์šฐ์—๋Š” apt๋ฅผ ํ†ตํ•ด์„œ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ๋‹ค.

sudo apt-add-repository ppa:fish-shell/release-3
sudo apt update 
sudo apt install fish -y

๊ทธ๋ฆฌ๊ณ  ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ fish ๋ช…๋ น์„ ํ†ตํ•ด์„œ ์‰˜์— ์ง„์ž…ํ•  ์ˆ˜ ์žˆ๋‹ค.




ํ•˜์ด๋ผ์ดํŒ…

๊ทธ๋ƒฅ ํ—ˆ์˜‡๊ฒŒ๋งŒ ๋ณด์—ฌ์ฃผ๋Š”๊ฒŒ ์•„๋‹ˆ๋ผ, ๋ช…๋ น์— ๋Œ€ํ•ด์„œ๋Š” ์•Œ๋ก๋‹ฌ๋ก ํ•˜์ด๋ผ์ดํŒ…์„ ํ•ด์ค€๋‹ค.




์ž๋™์™„์„ฑ

๊ฐ€์žฅ ๊ฐ•๋ ฅํ•œ ์ ์€ ์ž๋™์™„์„ฑ์ด ์ง€์›๋œ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค.
์‚ฌ์šฉํ•œ ๋ช…๋ น๋“ค์„ ๊ธฐ์–ตํ•˜๊ณ , ๊ทธ๊ฑธ ๊ธฐ๋ฐ˜์œผ๋กœ ๋ช…๋ น์„ ์ž๋™์™„์„ฑํ•ด์ค€๋‹ค.

๋ฐฉํ–ฅํ‚ค ์˜ค๋ฅธ์ชฝ์„ ๋ˆ„๋ฅด๋ฉด ์ž๋™์™„์„ฑ์„ ์‚ฌ์šฉํ•˜๊ฒŒ ๋œ๋‹ค.




๋„์›€๋ง

man ๋ช…๋ น์„ ์‚ฌ์šฉํ•˜๋ฉด ๋‹ค๋ฅธ ๋ช…๋ น์— ๋Œ€ํ•œ ๋„์›€๋ง์„ ์–ป์„ ์ˆ˜ ์žˆ๋‹ค.
์˜ˆ๋ฅผ ๋“ค์–ด, df์˜ ์‚ฌ์šฉ๋ฒ•์„ ์•Œ๊ณ  ์‹ถ๋‹ค๋ฉด ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ๋œ๋‹ค.


์ด์™ธ์—๋„ ์ž์ž˜ํ•œ ๋ณด์กฐ๊ธฐ๋Šฅ๋“ค์ด๋‚˜ ํŠน์ˆ˜ํ™”๋œ ์…ธ ๋ฌธ๋ฒ•๋“ค์ด ์ข€ ์žˆ์ง€๋งŒ, ํฌ๊ฒŒ๋Š” ์ด ์ •๋„๊ฐ€ ๋Œ€ํ‘œ์ ์ธ ์ฐจ๋ณ„์ ์ด๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด ์ •๋„๋งŒ ์†Œ๊ฐœํ•˜๊ณ  ๋„˜์–ด๊ฐ€๊ฒŸ๋‹ค.




๊ธฐ๋ณธ ์…ธ๋กœ ๋งŒ๋“ค๊ธฐ

fish ์‹คํ–‰ํŒŒ์ผ์˜ ๊ฒฝ๋กœ๋ฅผ ํ™•์ธํ•œ๋‹ค.

์ €๊ฑธ chsh์˜ ์ธ์ž๋กœ ๋„ฃ์–ด์ฃผ๋ฉด ๊ธฐ๋ณธ ์…ธ์ด ๋ณ€๊ฒฝ๋˜๋Š” ๊ฒƒ์ด๋‹ค.

chsh -s $(which fish)

sudo๋กœ ๋•Œ๋ฆฌ๋ฉด ๋ฃจํŠธ์— ๋Œ€ํ•ด์„œ๋งŒ ์ ์šฉ์ด ๋œ๋‹ค๋Š” ์ ์— ์œ ์˜ํ•œ๋‹ค. ํ˜„์žฌ ์œ ์ €์— ๋Œ€ํ•ด์„œ ์ ์šฉํ•˜๋ ค๋ฉด sudo ์—†์ด ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค.

๊ทธ๋Ÿฌ๊ณ  ์ปดํ“จํ„ฐ๋ฅผ ์žฌ๋ถ€ํŒ…ํ•˜๊ณ  ์…ธ์„ ์ผœ๋ฉด

๊ธฐ๋ณธ์œผ๋กœ ์ผœ์งˆ ๊ฒƒ์ด๋‹ค.

macOS์—์„œ๋Š” /etc/shells๋ผ๋Š” ํŒŒ์ผ์— ๊ฒฝ๋กœ๋ฅผ ์ถ”๊ฐ€ํ•ด์ค˜์•ผ ํ•œ๋‹ค.

VSCode ๊ฐ™์€๋ฐ์„œ๋„ ์–ด๋ ต์ง€ ์•Š๊ฒŒ ๊ธฐ๋ณธ ์…ธ๋กœ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋‹ค.

์ž˜ ๋œ๋‹ค.


์ฐธ์กฐ
https://github.com/fish-shell/fish-shell