올바른 결과가 출력되지 않습니다. 입력을 추가 비용에 곱하는 대신 입력을 그대로 표시합니다. 선택에 따라 발생할 수있는 추가 비용에 사람 수를 곱해야합니다.
#!/bin/bash
read -p "Number of Adult Tickets:(0 for none) " integer1
read -p "Number of Junior Tickets:(0 for none) " integer2
echo ""
echo "$integer1 Adults"
echo "$integer2 Juniors"
echo ""
num1=$50
num2=$20
num3=$5
echo "Season Pass Add-On:"
echo "1)Add Seasonal Parking"
echo "2)Add Season Pass For Theme Park"
echo "7)Just Buy Tickets For Today"
echo "8)I wanna exit."
echo ""
read -p "What would the guest like to do? " guest
echo ""
case $guest in
1)
echo "Add Seasonal Parking"
echo ""
echo "Add an additional $num1 for every adult pass"
echo ""
echo "For Adult Tickets "$(( integer1 + num1 ))""
echo "For Junior Tickets "$(( integer2 + num1 ))""
;;
2)
echo "Add Season Pass For Theme Park"
echo ""
echo "Add an additional $num2 for every adult pass"
echo "Add an additional $num3 for every junior pass"
echo ""
echo "For Junior Tickets "$(( integer2 * num2 ))""
echo "For Adult Tickets "$(( integer1 * num3 ))""
echo "For Junior Tickets "$(( integer2 * num2 ))""
echo "For Adult Tickets "$(( integer1 * num3))""
;;
3)
echo "Just buy tickets for today"
exit 0
;;
4)
echo "invalid entry. You are exiting"
exit 1
;;
esac
exit 0
문제는 달러 기호입니다
num1=$50
num2=$20
num3=$5
달러 기호는 Bash에서 특별한 의미가 있으므로 일반 숫자로 작동하지 않습니다. 통화없이이 상수를 저장하고 나중에 결과에 추가하십시오.
달러 기호는 에코로 표시하려면 백 슬래시로 이스케이프해야합니다.
echo "For Adult Tickets \$$(( integer1 + num1 ))"
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다