[Linux] ๋ฆฌ๋ˆ…์Šค๋งˆ์Šคํ„ฐ 2๊ธ‰ 2์ฐจ ์ •๋ฆฌ (6)
ยท
Linux
์‰˜ ์ข…๋ฅ˜๋ณธ์‰˜ ๊ณ„์—ด๊ณผ C์‰˜ ๊ณ„์—ด๋กœ ๋‚˜๋‰จ.์‚ฌ์šฉ์ž ํ”„๋กฌํ”„ํŠธ๊ฐ€ $์ด๋ฉด ๋ณธ์‰˜ ๊ณ„์—ด, %์ด๋ฉด C์‰˜ ๊ณ„์—ด์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋‹ค๋Š” ๊ฒƒ.C์‰˜์€ ๋ณธ์‰˜์˜ ๋ชจ๋“  ๊ธฐ๋Šฅ๊ณผ ๋ช…๋ น์–ด ํžˆ์Šคํ† ๋ฆฌ, alias, ์ž‘์—… ์ œ์–ด ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€๋กœ ๊ฐ€์ง.๋ณธ์‰˜ (Bourne Shell)์ข…๋ฅ˜์‹คํ–‰ ํŒŒ์ผํŠน์ง•๋ณธ์‰˜/bin/sh๋ฒจ ์—ฐ๊ตฌ์†Œ์˜ ์Šคํ‹ฐ๋ธ ๋ณธ์ด 1979๋…„์— ๊ฐœ๋ฐœ์œ ๋‹‰์Šค์—์„œ ๊ธฐ๋ณธ ์‰˜๋กœ ์‚ฌ์šฉ์ฝ˜์‰˜(korn shell)/bin/kshAT&T์‚ฌ์˜ ๋ฐ์ด๋น„๋“œ ์ฝ˜์ด 1986๋…„์— ๊ฐœ๋ฐœ๋ฒจ ์—ฐ๊ตฌ์†Œ์—์„œ ๋ณธ์‰˜์„ ํ™•์žฅํ•ด์„œ ๋งŒ๋“ฆ๋ช…๋ น์–ด ์™„์„ฑ ๊ธฐ๋Šฅ, ํžˆ์Šคํ† ๋ฆฌ ๊ธฐ๋Šฅ์„ ๊ฐ€์ง๋ฐฐ์‰ฌ์‰˜(bash shell)/bin/bash๋ธŒ๋ผ์ด์–ธ ํญ์Šค๊ฐ€ 1989๋…„์— ๊ฐœ๋ฐœ๋ณธ์‰˜์„ ๊ธฐ๋ฐ˜์œผ๋กœ GNU ํ”„๋กœ์ ํŠธ์— ์˜ํ•ด ๊ฐœ๋ฐœLinux ํ‘œ์ค€ ์‰˜๋กœ ์ฑ„ํƒ๋ฆฌ๋ˆ…์Šค, ๋งฅOS X ๋“ฑ ๋‹ค์–‘ํ•œ ์šด์˜์ฒด์ œ์—์„œ ์‚ฌ์šฉ๋ช…๋ น์–ด ์™„์„ฑ ๊ธฐ๋Šฅ, ํžˆ์Šคํ† ๋ฆฌ, ๋ช…๋ น์–ด..
[Linux] Shell Script ๊ธฐ์ดˆ ๋ฌธ๋ฒ• - ๋ณ€์ˆ˜ ์‚ฌ์šฉํ•˜๊ธฐ(1)
ยท
Linux
Shell Script๋ž€?Unix๋‚˜ Linux ๋˜๋Š” POSIX Portable Operating System Interface๋ฅผ ์ง€์›ํ•˜๋Š” ์šด์˜์ฒด์ œ์ธ macOS ๋“ฑ์—์„œ ์ผ๋ฐ˜์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๋ช…๋ น์–ด๋“ค๊ณผ if, for์™€ ๊ฐ™์€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ ์ธ ์š”์†Œ๋กœ ์ด๋ฃจ์–ด์ง„ ์ธํ„ฐํ”„๋ฆฌํ„ฐ ๊ธฐ๋ฐ˜์˜ ์Šคํฌ๋ฆฝํŠธ ์–ธ์–ด.Shell Script ์ž‘์„ฑ ๋ฐ ์‹คํ–‰์ผ๋ฐ˜์ ์œผ๋กœ ์…ธ ์Šคํฌ๋ฆฝํŠธ ํŒŒ์ผ์„ ๋งŒ๋“ค ๋•Œ๋Š” sh ํ™•์žฅ์ž๋ฅผ ์‚ฌ์šฉ. ๊ทธ๋ฆฌ๊ณ  #!/bin/bash๋ฅผ ์‹œ์ž‘ํ•  ๋•Œ ์ž‘์„ฑํ•˜์—ฌ ์…ธ ์Šคํฌ๋ฆฝํŠธ์ž„์„ ๋ช…์‹œ.Shell Script ์‹คํ–‰ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ 2๊ฐ€์ง€. ์ฒซ๋ฒˆ์งธ๋Š” sh ๋ช…๋ น์–ด๋ฅผ ์ด์šฉํ•˜์—ฌ ์‹คํ–‰ํ•˜๋Š” ๋ฐฉ๋ฒ•.$ sh myshell.sh๋‘ ๋ฒˆ์งธ ๋ฐฉ๋ฒ•์€ ์ƒ์„ฑํ•œ ์Šคํฌ๋ฆฝํŠธ์— ์‹คํ–‰ ๊ถŒํ•œ์„ ์ฃผ๊ณ  ์ง์ ‘ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๋ฐฉ๋ฒ•.$ chmod +x myshell.sh$ ./myshell..