반응형
쉘 프로그래밍은 일반적으로 사용하는 명령어들을 모아서 파일로 만들어 실행시키는 프로그램이다. 자주 사용하는 명령어를 쉘 프로그램으로 만들어 놓으면 매번 타이핑하지 않고 하나의 작업 명령으로 실행시킬 수 있다. 쉘이 수행하는 명령어들을 저장하고 있는 파일을 쉘 스크립트(Shell Script)라고 한다. 쉘은 bash, csh, tcsh, ksh 등 종류가 많은데 일반적으로 사용되는 것은 bash이다.
쉘 스크립트를 만들때는 확장자를 .sh로 해서 파일을 만들고 실행할 명령어를 입력하면 된다. 다음은 시스템의 환경을 출력하는 간단한 쉘스크립트 예제이다. echo는 문자열이나 변수값 등을 출력해주는 명령어이다.
#! /bin/bash
echo $HOSTNAME
echo $USER
echo $NAME
쉘 스크립트에서도 일반적인 프로그래밍 언어와 같이 if...else문, 반복문 등을 사용할 수 있다. 사용법은 어렵지않다. 프로그래밍에 조금만 익숙하다면 금방 이해할 수 있을 정도다. 자료도 쉽게 찾아볼 수 있다.
shell 스크립트의 활용법으로는 프로그램에 필요한 환경을 한번에 세팅할 수 있고 서버 API를 띄우는 작업도 가능하다.
sudo apt-get -y install python-pip
sudo apt-get install openssh-server
mkdir DeveloperLog
다음은 파이썬으로 작성한 API 코드를 실행하는 쉘스크립트 예제다.
#! /bin/bash
function run_api(){
echo "run api"
echo "port1: $port1"
echo "worker: $worker"
gunicorn --bind 0.0.0.0:$port1 wsgi_api -w $worker --timeout 10 &
}
function help_api(){
echo "Please enter port and worker."
echo "./start.sh port1 worker"
}
argc=$#
if [ $argc -eq 1 ]; then
argc1=$1
fi
if [ $argc1 == "help" ]; then
help_api
elif [ $argc -eq 2 ]; then
port1=$1
worker=$2
if [ $worker -gt 20]; then
echo "Your worker: $worker. It is too big a worker. Enter less than 20. Change to 5 worker"
worker=5
else
run_api
fi
else
help_api
fi
반응형
'Linux' 카테고리의 다른 글
리눅스 SSH 명령어 사용법 (0) | 2023.07.05 |
---|---|
리눅스 시스템 로그 분석/관리 (1) | 2023.06.16 |
리눅스 파일 소유 & 허가권 (0) | 2023.05.30 |
리눅스 프로세스 관리 (0) | 2023.05.29 |
리눅스 파일 개수 및 용량 확인 (0) | 2023.04.18 |