[Linux, centos] Shell Script, 시나리오 만들기, yes or no

Shell Script로 환경설정 자동화를 진행하다보면, 한 번에 모든 것을 설치하는 방법으로 진행 할 수도 있지만
그 때, 그 때 상황에 따라 무엇을 설치 할 지, 무엇은 설치 안할지에 대해 시나리오를 세울 필요가 있습니다.

그래야 작성한 스크립트를 유연하게 사용 할 수 있겠죠?
그렇기 위해서는 질문을 하고 셋팅을 진행 할 지 말지를 묻는게 가장 기본이 됩니다.

최근 쉘 스크립트로 환경설정 자동화 스크립트를 작성하며
시나리오를 만들고 있습니다.

간략히 말해

  1. jdk를 설치하시겠습니까?
  2. nginx를 설치하시겠습니까?

뭐 그런 질문에 대한 순서와 응답이죠.
질문에 대해 응답을 하는 가장 간단한 방법은 응답에 대해 read 문법을 사용해 값을 읽는 방법이 있습니다.

echo "please, write your user name"
echo -n "USER NAME : "
read first

대표 예시입니다. user명을 입력하세요. user name : 뒤에 user01이라고 입력하면 first 변수로 user01이라는 값을 받아옵니다.
이 문법에 while를 씌어주면, 우리는 원하는 값을 받을 때까지, 응답을 받는 shell script를 작성할 수 있습니다.

이 외에도 간단한 방법이 있습니다.
이번에는 select문을 사용하는 법인데요.

echo "do you want register this user?"
select yn in "Yes" "No"; do
    case $yn in
        Yes ) echo "yes";
        No ) exit;
    esac
done

select 문을 사용하면 case문으로 답을 선택하게 할 수 있고 시나리오를 만들어내는 데에 중요한 문법이 될 수 있습니다.

jdk를 설치하겠습니까? yes
nginx를 설치하겠습니까? No

원하는 셋팅만 선택할 수 있게 해주는 매우 중요한 문법입니다.
read와 select 그리고 if 문만 잘 사용하면
설치/환경설정 시나리오는 제대로 작성할 수 있게됩니다.

그렇다면 이 부분을 또 어떻게 발전시킬 수 있을까? 고민하게 되는데요!
이 고민의 정답으로 앤서블이 최근 눈에 띄입니다.

playbook이란 개념으로 yaml 파일로 셋팅과정을 만들어 두면, 마스터 서버에서 다수의 노드로
환경설정을 자동으로 하게 도와주는 앤서블~~ 앤서블을 잘 활용해봐야겠단 생각에 빠져듭니다.

셋팅 시나리오를 만들기 위한 shell script 문법과 이를 발전시키기 위한 앤서블~
다음에는 앤서블을 간단히 사용해보겠습니다 :)

'OS' 카테고리의 다른 글

[Linux, centos] Shell Script, jdk를 설치 및 경로 등록  (0) 2022.02.23
[ubuntu] apt-get 명령어  (0) 2020.03.09
[ubuntu] mysql 전체 삭제 후 재설치  (0) 2020.03.09

댓글

Designed by JB FACTORY