亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

請問:錯誤操作符時(輸入2,a,2),為什么計算器腳本進不去第三個判斷的else分支(目前至允許加法運算);單引號試過,轉義加號也不行,奔潰啦

#!/bin/bash

#計算器腳本


read -t 30 -p "please input num1:" num1

read -t 30 -p "please input opt:" opt

read -t 30 -p "please input num2:" num2


#判斷輸入的內容是否為空,-z表示是否為空

if [ -z "$num1" -o -z "$num2" -o -z "$opt" ]

? ? ? ? then

? ? ? ? echo "null input"

? ? ? ? exit 10

fi


#判斷num1與num2是否為純數字

? ? ? ? #使用sed將數字替換為空

test1=$(echo "$num1" | sed 's/[0-9]//g')

test2=$(echo "$num2" | sed 's/[0-9]//g')

? ? ? ? #若test1或test2不為空,則證明num1或num2不是純數字

if [ -n "$test1" -o -n "$test2" ]

? ? ? ? then

? ? ? ? echo "wrong num"

? ? ? ? exit 11

fi


#這里是第三個判斷語句,判斷操作符是否有效

if [ "$opt"=="+" ]

? ? ? ? then

? ? ? ? echo "$num1 $opt $num2 = $(($num1 $opt $num2))"

else

? ? ? ? echo "wrong opt"

? ? ? ? exit 12

fi


正在回答

1 回答

好吧,我知錯了 ==兩邊也要用空格

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

請問:錯誤操作符時(輸入2,a,2),為什么計算器腳本進不去第三個判斷的else分支(目前至允許加法運算);單引號試過,轉義加號也不行,奔潰啦

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號