일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- PostgreSQL
- gitlab
- Shell
- Oracle
- UIPATH
- gitlab-ci
- Xen
- gitlab-runner
- RPA
- UiARD
- container-registry
- Git
- docker
- sonar-qube
- MaxGauge
- runner
- UiPATH #UiRPA #RPA
- Today
- Total
올챙이시절 기록소
Shell Script 초급과정 ( feat. rtsctl ) 본문
Shell Script 입문과정 ( feat. Oracle 자동설치 스크립트 ) 편에 이어서 작성한다
오라클 자동설치 스크립트를 작성하면서
리눅스에 대한 이해와 사용할 수 있는 명령어의 폭이 늘었을 것이라 기대한다
2년 반정도 쉘을 작성하면서 느낀 바가 있다
쉘은 크게 두 가지로 분류 된다는 것이다
1. Install 쉘
2. 컨트롤러 (ctl) 쉘
( 물론 시간이 지나면서 생각은 변하겠지만 지금은 그렇다 )
ORACLE 자동설치 스크립트는 일종의 Install 쉘 이니 이번엔 컨트롤러 쉘에 대해서 알아 볼차례다
2015년 12월 PJS ( PlatformJS )를 제어하는 쉘을 작성하게 되었는데
어떻게 만드는지 알기 위해 RTS 컨트롤러 쉘을 이틀동안 분석하였다
실력이 비약적으로 늘었다, 쉘로도 이만큼 할 수 있구나라는 것을 배웠다
( 2년간 장인정신의 가르침을 두 번 받았는데 이것이 첫 번째였다 )
그 이유를 열거하면
1. HP-UX, Solaris, Aix, Linux 모두 호환되게 작성하였다 ( 03년 7월 부터 15년간 잘 작동한 )
( Unix, Linux 모두 호환되게 작성 하는 것이 정말 어렵다)
2. 함수를 사용하였고 함수명(ex - GET_TARGET_CONF_LIST)을 잘 지어 이해가 쉽다
( 영어도 필히 잘하시는 분이었을 것이다 )
3. 깔끔한 로직
4. 함수, 상수와 변수에 따라 Naming에 표준 규칙을 맞추었다
( 함수, 상수 : 대문자 / 변수 소문자 )
5. 예약 변수를 잘 활용하였다
6. 깔끔한 들여쓰기
개인적으로는 전율이 있었다 그런 느낌을 같이 받았으면 좋겠다
여튼, 초급수준이 되기 위한 두 번째 과제이다
Linux에 PostgreSQL 9.6(↑) 버전을 설치하고
컨트롤러 쉘을 작성한다
pgctl
WELCOME TO PGCTL!
========================================================================== [1] start : starts PostgreSQL DB. [2] stop : stops PostgreSQL DB. [3] status : checks status PostgreSQL DB. [4] version : checks version PostgreSQL DB. [0] quit|q|exit|e : exits PGCTL ===========================================================================
명령어는 이정도 하면 될 것이고
Interactive mode와 Non-Interactive mode가 둘 다 지원하게 작성한다
Interactive mode
$ sh pgctl
WELCOME TO PGCTL!
========================================================================== [1] start pg : starts PostgreSQL DB. [2] stop pg : stops PostgreSQL DB. [3] status pg : checks status PostgreSQL DB. [4] version pg : checks version PostgreSQL DB. [0] quit|q|exit|e : exits PGCTL ===========================================================================
1
Non-Interactive mode
$ sh pgctl 1
차근차근 더 실력을 높여보자
그래서 설치 따위는 컴퓨터에게 맡겨버리자 :D
'2015 > 12월' 카테고리의 다른 글
Shell Script 입문과정 ( feat. Oracle 자동설치 스크립트 ) (0) | 2017.10.19 |
---|