메뉴가 있는 쉘 스크립트

CLI로 만들기
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
while true

#!/bin/bash

function menu {
clear
cat << EOF
   ========== menu =========
   1. 로드 에버리지
   2. 디스크 상태
   3. 메모리 상태
   4. 프로새스 트리
   5. 입력한 서버에 ssh 접속
   6. 메뉴 종료
   =======================
EOF
read -p "hope : " SELECT
}
function press_key {
        echo
        read -n1 -rsp "Press any key to continue..."
        echo
        echo
}

while true
do
 menu
        case ${SELECT} in
                1)
                        clear
                        echo "로드 에버리지"
                        uptime
                        press_key
                        ;;
                2)
                        clear
                        echo "디스크 상태"
                        df -h
                        press_key
                        ;;
                3)
                        clear
                        echo "메모리 상태"
                        free -m
                        press_key
                        ;;
                4)
                        clear
                        echo "프로세스 트리"
                        pstree
                        press_key
                        ;;
                5)
                        clear
                        read -p "접속하고 싶은 서버 이름을 입력해주세요, (cent[1-3]) : " SVR
                        sleep 1
                        echo "${SVR}에 접속합니다..."
                        ssh ${SVR}
                        ;;
                6)
                        exit 0
                        ;;
                * )
                        echo " wrong num"
                        press_key
                        ;;
        esac
done


↓↓↓↓↓

GUI로 만들기

dialog --옵션명 옵션에필요한변수



#!/bin/bash

function menu {
        dialog --title " GUI MENU " \
                --radiolist "select" 20 35 6 \ <-- 가로사이즈 세로사이즈 메뉴의 개수(숫자)
                1. "로드 에버리지" off \ <-- 아무것도 선택하지 않은상태에서 실행하기 위해 off를 써준다.
                2. "디스크 상태" off \
                3. "메모리 상태" off \
                4. "프로새스 트리" off \
                5. "입력한 서버에 ssh 접속" off \
                6. "메뉴 종료" off \
                2>./select <-- 표준입력 - 0 , 표준출력 - 1, 표준에러 - 2
}

function press_key {
        echo
        read -n1 -rsp "Press any key to continue..."
        echo
        echo
}

while true
do
       menu
        SELECT=$(cat select)
        case ${SELECT} in
                1)
                        clear
                        echo "로드 에버리지"
                        uptime
                        press_key
                        ;;
                2)
                        clear
                        echo "디스크 상태"
                        df -h
                        press_key
                        ;;
                3)
                        clear
                        echo "메모리 상태"
                        free -m
                        press_key
                        ;;
                4)
                        clear
                        echo "프로세스 트리"
                        pstree
                        press_key
                        ;;
                5)
                        clear
                        read -p "접속하고 싶은 서버 이름을 입력해주세요, (cent[1-3]) : " SVR
                        sleep 1
                        echo "${SVR}에 접속합니다..."
                        ssh ${SVR}
                        ;;
                6)
                        exit 0
                        ;;
                * )
                        echo " wrong num"
                        press_key
                        ;;
        esac
done

'클라우드 > BashShell' 카테고리의 다른 글

window10 cmd 붙여넣기 해결  (0) 2023.03.02
고급 명령어  (0) 2023.02.28
대화식 쉘 스크립트  (0) 2023.02.28
간단 쉘 스크립트 array, redirect  (0) 2023.02.27
간단 쉘 스크립트 function  (0) 2023.02.27

+ Recent posts