관리 메뉴

IT창고

쉘 스크립트 기초 1 본문

프로그래밍/Shell Script

쉘 스크립트 기초 1

방구석여포 2020. 10. 6. 23:56

쉘 스크립트(Shell Script)에 대해 알아보도록 하겠습니다.

쉘 스크립트는 쉘을 사용해 프로그래밍을하여 서버 자동화 작업과 같은 반복 작업 등을 편하게 할 수 있습니다. 

 

그럼 쉘 스크립트를 만들기 전에 간단한 리눅스 명령어를 사용해보도록 하겠습니다.

위와 같이 ;를 사용하여 여러 명령어를 동시에 사용해 보았는데 위의 내용을 간단한 쉘 스크립트로 작성해보도록 하겠습니다.

 

위의 사진과 같이 test.sh 파일을 실행시키면 1번째 사진과 동일한 결과를 확인해볼 수 있습니다. 

아래에 test.sh 파일의 소스코드 입니다.

#!/bin/bash 

echo "달력" 
cal 
echo "" 
echo "날짜" 
date 
echo "" 
echo "현재 디렉토리 목록" 
ls -l 
echo "" 
echo "환경변수" 
echo "PATH=" $PATH 

exit 0



#쉘 스크립트 기초1 테스트

 

;를 사용한 결과와 동일한 결과를 확인해볼 수 있는데 소스코드의 내용 중 #!bin/bash의 경우 #은 쉘 스크립트에서 주석으로 사용되지만 #!를 사용할 경우 쉘에서 해당 스크립트가 어떤 쉘에서 실행되는지 명시하는 부분입니다.

스크립트는 위에서 아래로 순서대로 실행이 되며 echo "" 명령어로 메세지 출력이나 띄어쓰기 용도로도 사용합니다.

위와 같은 소스가 쉘 스크립트의 전부라고 할 수 있습니다. 

 

이번에는 변수를 만들어서 사용해보도록 하겠습니다.

위의 사진과 같은 결과는 아래의 소스코드에서 확인 가능한 쉘 스크립트로 만들어졌습니다.

#!/bin/bash 

gsk1=cal 
gsk2=$PATH 

echo "달력" 
$gsk1 
echo "" 
echo "환경변수" 
echo "PATH=" $gsk2 

exit 0

 

이번 쉘 스크립트는 gsk1, gsk2라는 변수를 이용하였으며 gsk1에는 cal명령어가 들어있고 gsk2에는 $PATH 환경변수 정보가 들어있습니다. 쉘 스크립트가 실행될 때 변수로 설정한 gsk1, gsk2의 사용자변수를 불러들여 실행이 됩니다.

echo "PATH=" $gsk2의 경우는 echo명령어로 ""안에 내용을 출력하며 같은 라인에 있는 gsk2 사용자변수를 불러내어 위의 사진과 같이 동일한 결과값을 출력하게 됩니다.

 

마지막으로 파이프를 사용한 쉘 스크립트를 확인해보도록 하겠습니다

위의 사진과 같은 결과는 아래의 소스코드에서 확인 가능한 쉘 스크립트로 만들어졌습니다.

#!/bin/bash

gsk1=`ps -ef | grep httpd`
#gsk2=$PATH

echo "Apache 프로세스"
echo $gsk1 
echo ""
echo "test.sh 스크립트 1번줄 내용"
cat /root/test.sh | head -1

exit 0

 

파이프를 활용한 쉘 스크립트를 작성해보았습니다. 변수 gsk1에는 Apache 프로세스를 확인하는 명령어가 있으며 두번째는 cat명령어로 test.sh 파일에 첫번째 줄 라인을 출력하도록 하였습니다. 사용자변수에서 파이프를 사용할 경우 ``로 사용이 가능합니다. 

'프로그래밍 > Shell Script' 카테고리의 다른 글

쉘 스크립트 for문  (0) 2020.11.03
쉘 스크립트 if문 3  (0) 2020.10.19
쉘 스크립트 if문 2  (0) 2020.10.17
쉘 스크립트 if문 1  (0) 2020.10.10
쉘 스크립트 기초 2  (0) 2020.10.07
Comments