Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash 为什么不';我不能得到正确的乘法输出吗?_Bash_Case - Fatal编程技术网

Bash 为什么不';我不能得到正确的乘法输出吗?

Bash 为什么不';我不能得到正确的乘法输出吗?,bash,case,Bash,Case,我没有得到正确的结果输出。它不是将投入乘以额外成本,而是按原样显示投入。我需要将人数与基于选择可能产生的额外成本相乘 #!/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 Ju

我没有得到正确的结果输出。它不是将投入乘以额外成本,而是按原样显示投入。我需要将人数与基于选择可能产生的额外成本相乘

#!/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 ))"