Shell Script(쉘 스크립트)란

아토시스·2022년 8월 29일
0

Linux

목록 보기
8/11

Shell(쉘)이란 ?

shell은 운영체제상에서 사용자가 입력하는 명령을 읽고 해석하여 대신 실행해주는 프로그램이다. 즉 다시 말해서, 운영체제의 커널과 사용자 사이를 이어주는 역할을 하며 사용자의 명령어를 해석하고 운영체제가 알아들을 수 있도록 도와주는 명령어 해석기이다.Linux에서 사용하는 Shell의 종류로는 다음과 같은 것들이 있다.

  • bash : Bourne-Again Shell(프롬픝 : # , 경로: /bin/bash). 가장 대표적으로 사용.
  • sh : Bourne Shell(프롬프트 : $ , 경로: /bin/sh)
  • csh: C Shell(프롬프트: % , 경로: /bin/csh)
  • ksh : Kron Shell(프롬프트: $ , 경로: /bin/ksh )
  • tcsh : TENEX C Shell(프롬프트 : > , 경로: /bin/tcsh )

Shell Script(쉘 스크립트)란 ?

Shell Script(쉘 스크립트)란 Shell(쉘)에서 사용할 수 있는 명령어들의 조합을 모아서 만든 배치(batch)파일이다. 즉, 운영체제의 Shell을 이요하여 한 줄씩 순차적으로 읽으면서 명령어들을 실행시켜주는 인터프리터 방식의 프로그램이다. Shell Script를 활용하여 묶어진 명령어 조합을 수행하거나 반복적인 명령어를 단일 명령으로 쉽게 사용할 수 있다.


Shell Script 기본 구조

Shell Script 파일의 기본 구조는 다음과 같다.


#!/bin/bash
echo "Hello Linux!!"

CentOS 환경에서 vi 에디터를 이용하여 "Hello Linux!!"를 출력해주는 script.sh라는 Shell Script파일을 만들어주었다. 파일의 내용을 보면 첫번째 줄에 #!/bin/bash를 적어주었는데 , 이것은 Unix 계열 Shell Script 파일의 필수적인 구문이다. Sharp(#) + bang(!)의 합성어로 Shebang 이라고 칭하는데 , Script 파일의 최상단에 해당 파일을 해석해줄 인터프리터의 절대경로를 지정해주는 것이다. 위의 예시는 bash를 Shell의 인터프리터로 지정한 것이다.

Shell Script 파일을 실행 시키기 위해서는 파일을 vi 에디터로 작성한 후 실행권한을 부여해야한다. 따라서 아래와 갘은 chmod 755 명령어로 실행 권한을 부여한 후 ./[Shell Script 파일명] 명령어를 이용하여 script.sh 에 작성한 echo 명령어가 실행이 되었고 "Hello Linux!!"라는 결과를 확인할 수 있었다.


Shell Script 기본 문법

출력


echo "Echo command"            #자동개행
printf "printf command\n"    #\n을 이용한

변수


#변수 선언, 대소문자 구분 및 =사이에 공백 X

num=100
str="hello"
 
# $을 이용한 변수 호출
echo "$num"
echo "$str"
 
#또는
echo "${num}"
echo "${str}"

배열


#배열선언

arr=("ab" "de" "ef")
 
echo "${arr[0]}"    #인덱스를 사용
echo "${arr[@]}"    #전체 원소를 의미
 
#원소추가
arr+=("gh")

if문


num=5
 
#if[조건]; then ... elif[조건]; then ... else ... fi 문

if [ "${num}" -eq 2 ]; then
    echo "num is 2"
elif [ "${test_num}" -eq 3 ]; then
    echo "num is 3"
else
    echo "num is not 2 or 3"
fi
 
#if((산술연산)); then ... elif((산술연산)); then else ... fi문

if (( ${num} > 3 )); then
    echo "number is greater than 3"
else
    echo "number is not greater than 3"

반복문


num=0
 
while (( "${num}" < 5 )); do
    echo "${num}"
    (( num = "${num}" + 1 )) 
done
 
#for문
arr=(1 2 3 4 5 6 7)
 
for i in ${arr[@]}; do
    echo "$i"
done
 
for (( i = 0; i < 10; i++)); do
    echo "$i"
done
출처 : https://minkwon4.tistory.com/159
profile
오늘보다 더 나은 내일이 되길 바라며

0개의 댓글