https://google.github.io/styleguide/shellguide.html ๋ฅผ ๊ธฐ์ดํ์ฌ ๊ณต๋ถํ์์ต๋๋ค.
๋จผ์ ํฐ ๊ทธ๋ฆผ์ ์ก๊ณ ๊ฐ๋ ๊ฒ์ ์ข์ํ๊ธฐ ๋๋ฌธ์, ์ ์คํฌ๋ฆฝํธ๋ฅผ ์ ์ด๋ฆฐ ๋ง์์ผ๋ก ๊ณต๋ถํ๋ ค๊ณ ํ๋์ง ์ธ๊ธํฉ๋๋ค. ์์ผ๋ก ์ฐ์ตํ Shell์ Application ์์น์์ ์ ํฌ๊ฐ ์ํ๋ ๋ช ๋ น์ ์ปค๋์ ์ ๋ฌํด์ค ํ๋ก๊ทธ๋จ์ ๋๋ค.
์ด์์ฒด์ ์ ์ฌ์ฉ์ ์ฌ์ด์ ์ค๊ฐ๋ค๋ฆฌ ์ญํ ์ ํด์ฃผ๋ ๋๊ตฌ๋ก, ์ฌ์ฉ์๊ฐ ์ ๋ ฅํ๋ ๋ช ๋ น์ ์ฝ๊ณ ํ๋ก์ธ์ค ์คํ์ํค๋ ํ๋ก๊ทธ๋จ์ ๋๋ค. ๊ฒฐ๊ตญ, ์์ ์ด์ฉํด์ ์ด์์ฒด์ ์ ๋ช ๋ น์ ๋ด๋ฆด ์ ์๋ค๋ ๊ฒ์ ๋๋ค. ์๊ณผ ์ปค๋, ์ด์์ฒด์ ์์ ์ผ์ด๋๋ ์ ๋ถ๋ฅผ ์๋ ค๊ณ ์์ํ๋ ๊ณต๋ถ๋ ์๋๋๋ค. ์๋ก์ด ๋ฌธ์ ์ ๋ง์ฃผํ์ ๋, ์ ๊ทผํ ์ ์๋ ๋ ํ๋์ ๋ฐฉ๋ฒ์ด ์๊ธธ ์ ์๋ค๋ ๊ธฐ๋๊ฐ์ผ๋ก ์์ํฉ๋๋ค. ์๋ก์ด ๊ฒ์ ๋ฐฐ์ฐ๋ ๊ฒ์ด ํ๋ค์ง ์์ ๋, ํ๋๋ผ๋ ๋ ๋ฐฐ์๋ด ์๋ค. ์ ํ๋ก๊ทธ๋จ์ผ๋ก๋ bash, sh, ksh, csh ๋ฑ์ด ์๊ณ , ์๋์ฐ์ ๊ฒฝ์ฐ๋ explorer.exe ๊ฐ ๋๊ฒ ์ต๋๋ค.
์ ์คํฌ๋ฆฝํธ๋ ์ ๋ช ๋ น์ด๋ค์ ์ธํฐํ๋ฆฌํฐ ๋ฐฉ์์ผ๋ก ์คํํ๋ ํ๋ก๊ทธ๋จ ์ ๋๋ค.
sh hello.sh # bash hello.sh ๋ ๊ฐ๋ฅ#cf) ๋ช ๋ น์ด ๊ตฌ๋ถ ;
#!/bin/bash#! : ์ด ํ์ผ์ด ์ด๋ค ๋ช ๋ น์ด ์งํฉ์ธ์ง ์์คํ ์ ์๋ ค์ฃผ๊ฒ ๋ค.
/bin/bash : ํ์ฌ๋ ๋ฆฌ๋ ์ค์ ๊ธฐ๋ณธ ํ์ฌ๋ ์ผ๋ฐ์ ์ธ ์์ธ bash์ด๋ค.
hi(){
# ๋ด์ฉ
}๋ณ์์ ํ์ ๊ตฌ๋ถ ์์.
a=3 # '='์๋ค ๊ณต๋ฐฑ X (declare a=3๊ณผ ๋์ผ)
echo $a # ๋ณ์ ์ฌ์ฉ ์์๋ '$'(์๋๋ฉด, ๋ฌธ์์ทจ๊ธ๋จ)
unset a # ๋ณ์ํด์ ์ง์ญ๋ณ์, ์ ์ญ๋ณ์๋ ๊ธฐ์กด ๊ฐ๋ ๊ณผ ๋์ผํจ.
ํ๊ฒฝ๋ณ์ ๋ผ๋ ๊ฒ์ด ์๋๋ฐ, ์์ ํ๋ก์ธ์ค์์๋ ๋ณ์๋ฅผ ์ฌ์ฉํ ์ ์๊ฒ ๋จ.
export a=3 # ํ๊ฒฝ๋ณ์
export -n a # ํ๊ฒฝ๋ณ์ -> ์ง์ญ๋ณ์
env # ํ๊ฒฝ๋ณ์ ์ถ๋ ฅ์ฝ๊ธฐ์ ์ฉ๋ณ์ ๋ ์๋ฐ์คํฌ๋ฆฝํธ์ const์ ๋์ผํจ.
readonly a=3| ๋ฌธ์ | ์ค๋ช |
|---|---|
