Shell

Shell Script

linux shell에서 여러 명령어를 실행시키거나 응용 소프트웨어를 제어하기위해 작성되는 script 언어이다. 보통 .sh 확장자를 가지고 아래와 같이 스크립트 파일을 생성 및 실행할 수 있다.

$ vi test.sh			// 스크립트 생성 (스크립트 맨 상단에 '#!/bin/bash' 추가)
$ chmod +x test.sh		// 파일 실행권한 부여
$ sh test.sh			// 스크립트 실행 (./test.sh)

shell script 문법 참고

‘echo’를 이용한 출력시에 색상 입히기

RESET='\033[0m'
BG_RED='\033[41m'

echo -e "${BG_RED}Hello World${RESET}"

주석

#####################################
# Test Script
# created : 2021.05.01
# creator : writer
#####################################

현재 실행된 스크립트의 사용자 권한 레벨 확인하기

# need root permission
if (( $EUID != 0 )); then
	echo "${BG_RED}this script must be run as root ("$EUID")${RESET}"
	exit
fi

if문 - 명령어 성공여부 확인하기

lsmod | grep 'sample'	// sample module이 커널에 적재되었는지 확인
if [ $? -eq 0 ];then
	echo "[SUCCESS]"
else
	echo "[FAIL] module isn't loaded"
fi

if문 - 파일 확인하기

library="/usr/lib/sample_lib.so"
directory="/usr/include/boost"

if [ -f $library ];then
	echo "[SUCCESS] file is exist"
else
	echo "[FAIL]"
fi

if [ -d $directory ];then
	echo "[SUCCESS] directory is exist"
else
	echo "[FAIL]"
fi

사용자로부터 입력받아 파일에 적용하기

echo -e "Please insert server IP >>> "
read ipaddress							// 사용자로부터 입력받기
sed -i '/server/d' /etc/hosts			// /etc/hosts 파일에서 'server' 문자 포함된  삭제
echo $ipaddress server >> /etc/hosts	// 입력받은  파일에 적용하기

Categories:

Updated: