Shell 기본 문법을 이용한 자판기 연습

2022. 8. 23. 13:32Shell

SMALL

사용 문법

1. 입출력

2. 변수

3. 숫자 계산

4. 특수한 변수

5. 변수 치환

6. 배열

7. 조건문(if, switch)

8. 반복문(while, for)

9. 함수

 

코드

#!/bin/sh

# Vending Machine

# Drink 
PRODUCTS=(coffee juice bear water)
PRICES=(1000 3000 2000 500)

# menu
menu() {
    echo "====================== Drink Store ======================"
    i=0
    for product in ${PRODUCTS[@]}
    do
        echo "${i}. ${product} - ${PRICES[$i]} 원"
        i=`expr $i + 1`
    done
    echo "========================================================="
}

# Main

echo "시작: 1 | 종료: -1"
read NUM

case "$NUM" in
    "-1") 
        sleep 0.3
        echo "종료."
    ;;
    "1")
        VALUE=0
        while [ ! "$VALUE" == -1 ]
        do
            sleep 0.3
            menu
            echo "음료를 선택하세요.[종료 : -1]"
            read VALUE

            sleep 0.3
            if [ "$VALUE" -eq -1 ]
            then
                echo "VALUE : ${VALUE:+[value가 -1이 입력됨]}"
                echo "감사합니다."
            else
                echo "${PRODUCTS[${VALUE}]}의 수량을 입력하세요."
                read COUNT
                
                sleep 0.3
                if [ "$COUNT" -eq -1 ]
                then
                    VALUE=-1
                    echo "VALUE : ${VALUE:+[value가 -1이 입력됨]}"
                else
                    TOTAL=$((${PRICES[${VALUE}]} * ${COUNT}))
                    echo "${PRODUCTS[${VALUE}]} ${COUNT}개 >> ${TOTAL}원"
                    echo "구매 완료되었습니다."
                    sleep 1
                fi
            fi
        done
    ;;
esac

LIST

'Shell' 카테고리의 다른 글

환경 변수 사용하기 - export  (0) 2022.08.23