Shell Script
Linux/Shell

Shell Script

1. Shell Script๋ž€?

- Script : ์ธํ„ฐํ”„๋ฆฌํ„ฐ(interpreter) ๋ฐฉ์‹์œผ๋กœ ๋™์ž‘ํ•˜๋Š” ์ปดํŒŒ์ผ๋˜์ง€ ์•Š๊ณ  ํ•œ์ค„์”ฉ ์‹คํ–‰๋˜๋Š” ํŒŒ์ผ

- Linux/Unix ๊ณ„์—ด์˜ Shell์—์„œ ์‹คํ–‰์‹œํ‚ฌ ๋ช…๋ น์–ด๋“ค์„ Scipt๋กœ ์ž‘์„ฑํ•˜์—ฌ ์ฝ”๋“œ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์‹คํ–‰

 

2. Shell Script ์ž‘์„ฑ ๋ฐฉ๋ฒ•

โ‘  Shell Script ์ž‘์„ฑํ•˜๊ธฐ 

- Shebang : ํ•ด๋‹น Script๊ฐ€ ์–ด๋–ค ์ธํ„ฐํ”„๋ฆฌํ„ฐ์—์„œ ๋Œ์•„๊ฐ€๋ฉด ๋˜๋Š”์ง€ ๋‚˜ํƒ€๋‚ด๋Š” ๊ตฌ๋ฌธ์ด๋‹ค. ์•„๋ž˜ ์˜ˆ์ œ๋Š” /bin ๊ฒฝ๋กœ์— ์žˆ๋Š” bash ์ธํ„ฐํ”„๋ฆฌํ„ฐ๋กœ ๋Œ์•„๊ฐ€๊ฒŒ ๋œ๋‹ค.

- ์ฃผ์„ : ์‹ฑ๊ธ€ ๋ผ์ธ์€ #, ๋ฉ€ํ‹ฐ ๋ผ์ธ์€ : << "END" ~ END๋กœ ๋‚˜ํƒ€๋‚ธ๋‹ค. Script์—์„œ๋งŒ ๋ณด์ด๊ณ  ์‹คํ–‰๋  ๋•Œ ๋ณด์ด์ง€ ์•Š๋Š”๋‹ค.

#!/bin/bash

echo 'Hello World!'

#This is my first shell script

: << "END"
This is my first shell script
END

 

โ‘ก Shell Script์— ์‹คํ–‰ ๊ถŒํ•œ์ฃผ๊ธฐ

- chmod +x/755(๋ชจ๋‘์—๊ฒŒ), chmod 700(์†Œ์œ ์ž์—๊ฒŒ๋งŒ)๋ฅผ ํ†ตํ•ด Shell Script์— ์‹คํ–‰ ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•œ๋‹ค.

์‹คํ–‰ ๊ฐ€๋Šฅํ•œ ํŒŒ์ผ์€ ํฐ์ƒ‰ > ๋นจ๊ฐ„์ƒ‰์œผ๋กœ ๋ณ€๊ฒฝ

 

โ‘ข Shell Script ์‹คํ–‰ํ•˜๊ธฐ

- PATH์— ์„ค์ •๋œ ๊ธฐ๋ณธ ๊ฒฝ๋กœ๊ฐ€ ์•„๋‹ˆ๋ผ๋ฉด ๊ฒฝ๋กœ๋ฅผ ํ•„์ˆ˜๋กœ ์ž…๋ ฅํ•ด์ฃผ์–ด์•ผ ํ•œ๋‹ค.

- ์ผ๋ฐ˜์ ์œผ๋กœ bin ๋””๋ ‰ํ† ๋ฆฌ๊ฐ€ $PATH๋กœ ์„ค์ •ํ•˜์—ฌ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— Shell Script๋ฅผ bin ๋””๋ ‰ํ† ๋ฆฌ์— ๋„ฃ์„ ๊ฒฝ์šฐ ์‚ฌ์šฉํ•˜๊ธฐ ํŽธํ•˜๋‹ค.