상세 컨텐츠

본문 제목

ShellScript(쉘 스크립트) 실행 옵션 입력받기

Linux/ShellScript&Command

by Hoonjo 2023. 6. 17. 21:48

본문

ShellScript(쉘 스크립트) 실행 옵션 입력받기

 

 

 

실제 소프트웨어 개발간 알게된 정보들을 기록 및 공유 해보도록 하겠습니다.

                                                           - 풀스택 개발&운영 고통 속에서..

 

 

 

 

쉘 스크립트롤 만들다보면 내가 만든 쉘을 실행함과 동시에 옵션을 넣고싶은 경우가 있다.

옵션을 넣어 동작하게 만들면 하나의 기능만 수행하는 스크립트 파일 여러개가 아닌

하나의 스크립트로 여러 기능하도록 만들어 볼 수가 있습니다.

 

 

빠르게 소스 부터 갑니다.

 

소스
#/bin/sh
# Script Ver. 0.0.1 (Linux)

export LANG=ko_KR.UTF8

PRODUCT="OracleRDBMS"
OS="Linux"
VERSION="0.0.1"

if [ "$1" == "-v" ]; then
  echo "TestScript Version. $OS $PRODUCT $VERSION"
  exit 0
fi

echo "No Option"

# 여러가지 기능들 ...

exit 0

 

제품명(PRODUCT), 운영체제(OS), 현재 스크립트 버전(VERSION) 등을 변수에 담아 스크립트의 현재 버전을 출력해보는 스크립트입니다.

 

서버에서 돌려볼까요?

 

 

1. 스크립트 파일 생성

 

TestScript.sh 이름을 가진 스크립트 파일을 vi 편집기로 열겠습니다.

 

명령어:

vi TestScript.sh

 


 

2. 소스 붙여넣기

 

현재 까만화면에 아무내용이 없을겁니다.

소문자 'i' 를 눌러 insert(입력) 모드로 변경합니다.

화면 하단에 INSERT라는 문구가 뜨면 위 소스를 붙여넣습니다.

 

명령어:

?? 컨트롤 + C 정도는 아셔야...

Putty의 경우 Shift + Insert키 또는 '마우스 오른쪽 클릭'하시면 붙여넣기가 됩니다 하하

붙여넣은 모습

ESC키  +  :wq  +  Enter키 를 입력하여 스크립트를 저장합니다.

 


 

3. 스크립트 파일 권한 변경

 

ls 혹은 ls -l 명령어로 생성된 파일을 확인해보면 스크립트 실행권한이 없을 수 있습니다.

실행권한이 없는 모습

 

실행권한을 추가해줍니다.

 

명령어:

chmod 775 TestScript.sh

실행권한이 생긴 모습

🧐 각각 r=읽기, w=쓰기, x=실행권한을 뜻하며,
1 자리는 파일, 폴더, 링크를 의미
2~4 자리는 파일 소유자의 권한
5~7 자리는 파일 그룹의 권한
8~10 자리는 그 외 유저들의 권한을 의미합니다.

 


 

4. 스크립트 실행

 

그냥 한번  실행해볼까요?

 

명령어:

./TestScript.sh

실행된 모습

뒤에 옵션을 넣지 않았으니 IF문 밖에 있는 No Option이 출력되었습니다.

 

 

그렇다면, 옵션을 넣고 실행해보겠습니다.

 

명령어:

./TestScript.sh -v

옵션이 있을때 실행된 모습

 

 

🎉🎉짠 옵션이 들어가니 IF문 안에 있던 소스가 동작되었습니다.

일반적으로 실행할 파일의 버전을 확인할때 -v나 -version등 옵션을 많이 입력하더이다~

 

감사합니다.

 

 

 

관련글 더보기