[Linux] 6.Shell script


Shell script



쉘 스크립트란 쉘에서 사용할 수 있는 명령어들의 조합을 모아서 만든 배치(batch) 파일입니다. 리눅스에서는 여러 명령어들을 파이프(pipe), 리다이렉션(redirection), 필터(filter) 등으로 연결하여 원하는 결과를 얻어 낼 수 있습니다.

이런 방식으로 묶여진 명령어 조합이 반복적으로 사용된다면 이를 쉘 스크립트로, 즉 단일 명령으로 만들어 쉽게 사용할 수 있습니다!

저는 Bash를 이용해서 Shell Script를 작성하겠습니다!


먼저, bash 파일을 생성합니다!


image



그리고 vi editor를 사용해서 스크립트를 작성합니다


#!/bin/bash

echo "hello world"
printf "hello world\n"



:wq 를 눌러 저장하고 vi editor를 빠져나옵니다!

bash 파일을 실행해볼까요?


image



실습




  • t1~t10 디렉토리 생성하고 디렉토리 안에 각각 t1~t10.txt를 생성하는 스크립트




# mktest.sh


#!/bin/sh
for i in 1 2 3 4 5 6 7 8 9 10
do
        echo ${i}
        mkdir t${i}
        echo "t${i}" > t${i}/t${i}.txt
done




image




  • t1~t10 디렉토리 삭제 (안에 있는 txt파일은 밖으로 뺀다.)




# rmtest.sh

#!/bin/sh

i=1

# 10보다 작거나 같을 떄까지 반복

while [ ${i} -le 10];
do
    echo ${i}
    mv t${i}/t${i}.txt .
    rmdir t${i}
    i=$((${i}+1))
done




image