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)
    

์ฐธ๊ณ ์ž๋ฃŒ

์ด ๋ฌธ์„œ๋ฅผ ์ธ์šฉํ•œ ๋ฌธ์„œ


  1. https://fishshell.com/docs/current/language.html#variables-scope โ†ฉ๏ธŽ

  2. https://fishshell.com/docs/current/language.html#exporting-variables โ†ฉ๏ธŽ

  3. https://fishshell.com/docs/current/tutorial.html#path โ†ฉ๏ธŽ