[Linux] ์ ์คํฌ๋ฆฝํธ์ ์ ๋ณ์ + ํน์ ๋ณ์์ ๋ฐฐ์ด (chmod, nano, echo, bash, ./, #, read, set, readonly, unset)
5. ์ ์คํฌ๋ฆฝํธ์ ์ ๋ณ์ + ํน์ ๋ณ์์ ๋ฐฐ์ด (chmod, nano, echo, bash, ./, #, read, set, readonly, unset)
# ์ ๋ฐ ์คํฌ๋ฆฝํธ & ์ ํ๋ก๊ทธ๋๋ฐ๊ณผ ์ ์คํฌ๋ฆฝํธ
- ์
: OS ์์์ ์ฌ์ฉ์ ์ ๋ ฅ ๋ช ๋ น์ ์ฝ๊ณ ํด์ํ ํ ์คํํ๋ ํ๋ก๊ทธ๋จ์ผ๋ก, ์ผ์ข ์ ๋ช ๋ น์ด ํด์๊ธฐ
- ์คํฌ๋ฆฝํธ
: ์ปดํ์ผ๋์ง ์์ ์ํ์ ํ๋ก๊ทธ๋จ
- ์ ํ๋ก๊ทธ๋๋ฐ
: ์์ ๋ช ๋ น์ด๋ค์ ํฉ์ณ ํ๋์ ํ์ผ๋ก ๋ง๋๋ ํ๋ก๊ทธ๋๋ฐ ๊ณผ์
- ์ ์คํฌ๋ฆฝํธ
: ์ ๋ช ๋ น์ด๋ค์ ๋ชจ์ ๋ง๋ ํ๋ก๊ทธ๋จ ๋ฐ ๋ฐฐ์น ํ์ผ(Batch File)
- ๋ฐฐ์น ํ์ผ(Batch File)
: ํ์ฅ์๋ฅผ " .sh " ๋ก ๊ฐ์ง๋ ํ์ผ
# ์ ์คํฌ๋ฆฝํธ ์์ 1 ์ค์ต
+ ์ฃผ์!
: ์ค์ต์ ์งํํ๊ธฐ์ ์์, nano ๋ช ๋ น์ด ์ฌ์ฉ์ ์ํด์๋ ํด๋น ํ์ผ์ ๋ํ์ฌ ์ฌ์ฉ์๊ฐ ์คํ๊ถํ(x)์ ๊ฐ์ ธ์ผ ํจ
--> chmod u+x [ํ์ผ๋ช ] ์ ์ฌ์ฉํ์ฌ ์ฌ์ฉ์์๊ฒ ํ์ผ ์คํ๊ถํ ๋ถ์ฌ
1. nano [ํ์ผ๋ช ] ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ์ฌ ์คํฌ๋ฆฝํธ ์คํ
2. ์คํฌ๋ฆฝํธ์ echo "hello!!!" ์ ๋ ฅ
+ control - O --> enter ํค --> control - X
์ ํตํด ํ์ถ ๊ฐ๋ฅ
3. ./ prac1.sh ์ด๋ bash prac1.sh ๋ฅผ ์ ๋ ฅํ์ฌ ์ ๋ ฅ๋ ์คํฌ๋ฆฝํธ ํ์ธ
# ์ ์คํฌ๋ฆฝํธ์ ์ ์ถ๋ ฅ ๋ฐ ์ฝ๋ฉํธ
์ฝ๋ฉํธ | ์ ๋ ฅ | ์ถ๋ ฅ |
# [์ฝ๋ฉํธ ๋ด์ฉ] | read [์ ๋ ฅ๋ฌธ] | echo [์ถ๋ ฅ๋ฌธ] |
1. nano [ํ์ผ๋ช ] ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ์ฌ ์คํฌ๋ฆฝํธ ์คํ ํ ์๋์ ๊ฐ์ด ์ ๋ ฅ
2. ./ [ํ์ผ๋ช ] ๊ณผ bash[ํ์ผ๋ช ] ์ ์ฌ์ฉํ์ฌ ํธ์ง ๋ด์ฉ ํ์ธ
# ์ ์คํฌ๋ฆฝํธ์ ๋ณ์
- ๋ณ์ ์ ์ธ
# [๋ณ์๋ช ] = [์๋ฌธ์ & ์ซ์ & ์ธ๋๋ฐ(_)]
= "[๋ฌธ์์ด]"
= $[์ฐธ์กฐํ ๊ฐ]
+ ์ฃผ์!
: " = " ๊ธฐํธ์ ์๊ณผ ๋ค์๋ ๊ณต๋ฐฑ์ด ์กด์ฌํด์๋ ์๋๋ค.
- ์์ฑ๋ ๋ณ์ ๋ชฉ๋ก ์ถ๋ ฅ ๋ช ๋ น์ด
# set
- ์ฝ๊ธฐ ์ ์ฉ ์ ๋ณ์
# readonly [๋ณ์๋ช ]
1. nano ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ์ฌ ์คํฌ๋ฆฝํธ ์คํ ํ ์๋์ ๊ฐ์ด ์ ๋ ฅ
2. ./ [ํ์ผ๋ช ] ๊ณผ bash[ํ์ผ๋ช ] ์ ์ฌ์ฉํ์ฌ ํธ์ง ๋ด์ฉ ํ์ธ
- ์ ๋ณ์ ์ญ์ ๋ช ๋ น์ด
# unset [์ญ์ ํ ๋ณ์๋ช ]
- ํน์ ๋ณ์
$?
: ์ด์ ์ ์คํ๋ ๋ช ๋ น์ ์ข ๋ฃ ์ํ(= exit ๋ช ๋ น์ ์ค ์ธ์)๊ฐ ์ค์ ๋๋ ๋ณ์
: ๋ช ๋ น ์ํ ์ฑ๊ณต --> 0 ์ถ๋ ฅ
: ๋ช ๋ น ์ํ ์คํจ --> 1 ์ถ๋ ฅ
$!
: ๋ฐฑ๊ทธ๋ผ์ด๋์์ ์คํ๋ ๋ช ๋ น์ ํ๋ก์ธ์ค ID(=PID) ์ค์ ๋ณ์
$$
: ๋ช ๋ น ์์ , ์ ์คํฌ๋ฆฝํธ์ ํ๋ก์ธ์ค ID ์ค์
$#
: ์คํ ์ ์ง์ ๋ ์ธ์ ๊ฐ์ ์ค์ ๋ณ์
$@
: ์ ์คํฌ๋ฆฝํธ, set ๋ช ๋ น์ ๋ชจ๋ ์ธ์ ์ค์ ๋ณ์
--> ๊ฐ๊ฐ์ ๊ฐ์ " " ๋ก ๋ฌถ์ธ ์ํ๋ก ์ ๊ฐ
$*
: ์ ์คํฌ๋ฆฝํธ, set ๋ช ๋ น์ ๋ชจ๋ ์ธ์ ์ค์ ๋ณ์
--> ๋ชจ๋ ๊ฐ์ ํ๋์ " " ๋ก ๋ฌถ์ด ํ๊บผ๋ฒ์ ์ ๊ฐ
$0
: ์คํ๋ ์ ์คํฌ๋ฆฝํธ๋ช ์ค์
$[10๋ฏธ๋ง์ ์์ฐ์ N]
: N๋ฒ์งธ์ ์ธ์ ์ค์
# ๋ช ๋ นํ์ธ์ ๊ด๋ จ ๋ณ์ ์ค์ต
1. nano ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ์ฌ ์คํฌ๋ฆฝํธ ์คํ ํ ์๋์ ๊ฐ์ด ์์ฑ
2. ./ [ํ์ผ๋ช ] ๊ณผ bash[ํ์ผ๋ช ] ์ ์ฌ์ฉํ์ฌ ํธ์ง ๋ด์ฉ ํ์ธ
# ๋ฐฐ์ด๊ณผ ์ ์คํฌ๋ฆฝํธ ๋ณ์
: ๋ฐฐ์ด์ ์ฌ์ฉํ์ฌ ํ๋์ ๋ณ์์ 1๊ฐ ์ด์์ ๊ฐ ์ ์ฅ ๊ฐ๋ฅ
1. nano ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ์ฌ ์คํฌ๋ฆฝํธ ์ด๊ธฐ --> ์๋์ ๊ฐ์ด ์คํฌ๋ฆฝํธ ์์ฑ
2. ./ [ํ์ผ๋ช ] ๊ณผ bash[ํ์ผ๋ช ] ์ ์ฌ์ฉํ์ฌ ํธ์ง ๋ด์ฉ ํ์ธ