일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- terraform기본
- 주피터노트북 설치
- aws기초
- 리눅스
- Linux
- aws기본
- AWS구축
- opt/anaconda3/bin/jupyter_mac.command
- AWS실습
- 쉘스크립트
- 최소권한
- terraform with aws
- GDPR
- aws
- AWS배포자동화
- cissp
- 리눅스명령어
- terraform기초
- AWS 공격테스트
- 리눅스기초
- aws terraform
- blue/green배포
- Cissp sdlc
- AWS CodeDeploy
- terraform따라하기
- aws따라하기
- AWS CI/CD
- 직무분리
- 리눅스기초명령어
- linux명령어
ysuekkom의 IT study note
[linux 기초] 명령어 실습편 - 초간단 쉘 스크립트 작성IIII -대화식 쉘스크립트 구성 본문
[linux 기초] 명령어 실습편 - 초간단 쉘 스크립트 작성IIII -대화식 쉘스크립트 구성
개인 공부를 위한 기록용으로 일부 과거 자료 이전
###간단 쉘 스크립트 -조건문/반복문 -함수/배열 -리다이렉션의 활용 -대화식구성/메뉴구성 사용자 입력 처리 쉘 스크립트 작성 -반복/조건문을 이용한 정해진 숫자 맞추기 게임 -시스템 상태 조회 쉘 스크립트 작성 |
리눅스 명령어 기본/실습편에서 익힌 기본적인 명령어를 통해 기초 대화식 쉘 스크립트 작성 실습을 해보자
입출력을 입력받고, 해당 내용을 GUI로 출력하는 실습까지 본 포스팅에서 다룰 예정이다!
###대화식 쉘 스크립트
-쉘 스크립트 실행 후 사용자에게 입력을 받은 숫자/문자를 처리함
<입력대기/출력 실습>
>vi read_test.sh
>read -p 옵션 사용 --> 입력하는 문자 그대로 출력
>vi read_test.sh
>read -sp 옵션 사용 --> s : secret mode
>문자 입력 시, 입력한 문자 숨겨줌
<정해진 숫자맞추기 게임>
>> 1. GOAL="$((RANDOM% 100+1))" ; echo "${GOAL}"
>chmod 700 num_test.sh
###시스템 상태 조회 메뉴가 있는 쉘 스크립트
-dialog --옵션명 옵션에 필요한 변수
>vi menu.sh
메뉴1 선택 시 uptime
메뉴2 선택 시 df -h
메뉴3 선택 시 free -m
메뉴4 선택 시 pstree
메뉴5 선택 시, 서버 입력받아 해당 서버에 ssh로 접속하는 메뉴 만들기
Clear로 출력화면 지워 준 다음 == 함수로 작성
Txt로 메뉴를 출력하기. == menu() 함수로 작성
메뉴 선택 및 실행 이후, 아무키나 입력 시 다음으로 넘어갈 수 있도록하는 press any key to continue.. == press_key() 함수로 작성
User 입력을 기다리는 while true로 반복/무한대기
<실습>
>vi menu.sh
>chmod 700 menu.sh
>./menu.sh
>>5번 선택 시, 접속할 서버 입력 받기 위해 대기
>> 입력 받고, sleep 1 --> 1초 기다리고 "${SVR} server login…" 출력한 다음, 서버 접속 시도(기초편에서는 서버 접속 안되서 종료)
>> 6번 선택 시, 메뉴 종료 --> exit 0 ;; --> 정상 종료
<위 실습을 GUI로 만들기>
-dialog --옵션명 옵션에 필요한 변수
Dialog >선택한 메뉴를 파일로 저장함, 1을 선택하면 파일에 1의 데이터가 저장되고 파일에서 그 번호를 읽어와서
케이스문에 대입하는 처리 방식
>>에러 빨간색 확인 중
>menu 함수 부분을 dialog를 사용하여 GUI로 만들기
출력결과
>번호 선택 한 결과가 select파일에 담기지만 2번의 disk state를 불러오지 못함
>>수정 필요: 메뉴 넘버를 받아서 select 파일에 넘겼는데, 그 번호를 받아오는 변수 선언을 안해줌
>vi menu.sh
#!/bin/bash
:wq!
>./menu.sh
>커서 옮겨서 3번 선택 시,
>memory state 출력, 후 press any key to continue…
>function press_key {
echo
read -n1 -rsp "Press any key to continue…"
echo
echo
}
>>read로 입력대기, 입력받기
-n1 : 1개 입력 받기
-r : 백슬래시 기호를 문자로 받아들이기(아무문자나 입력 시 넘어가야하기 때문에)
-p: 다음 문자열 출력해주기 "Press any key to continue…"
>6번 선택 후 exit menu
>case 문 내, 6) exit 0 ;;(정상종료 명령어)
>종료 후 cat select로 확인 == 6번 남아있음
'OS > linux' 카테고리의 다른 글
[linux 기초] 명령어 실습편 - 초간단 쉘 스크립트 작성III -함수/배열 (0) | 2022.10.15 |
---|---|
[linux 기초] 명령어 실습편 - 초간단 쉘 스크립트 작성II - 조건문/반복문 (0) | 2022.10.14 |
[linux 기초] 명령어 실습편 - 초 간단 쉘 스크립트 작성 (1) | 2022.10.13 |
[linux 기초] 명령어편 - 검색, 입출력 관련 (1) | 2022.10.13 |
[linux 기초] 명령어편 - 네트워크 관련 (1) | 2022.10.13 |