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

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

正在回答

1 回答

這樣看代碼看不到你說的問題,你應該把報錯也貼上的。

暫時看見有幾個問題:

  1. -n 與“num1” 中間要有空格。

  2. == 兩邊要有空格

  3. [ xxx ]? 方括號里的判斷要跟兩個方括號之間有空格

  4. 除法那行不要帶雙引號

  5. 最后一行只要在兩邊加雙引號就夠了,不要寫那么多雙引號

可能還有漏看的。。。

下面是我寫的拆解過if結構的

#!/bin/bash
#?例子:計算器
read?-t?30?-p?"input?num1:"?num1
read?-t?30?-p?"input?num2:"?num2
read?-t?30?-p?"input?ope(+-*/):"?ope
if?[?-n?"$num1"?-a??-n?"$num2"?-a?-n?"$ope"?]
then
????test1=$(echo?$num1?|?sed?'s/[0-9]//g')
????test2=$(echo?$num2?|?sed?'s/[0-9]//g')
????if?[?-z?"$test1"?-a?-z?"$test2"?]????????
????then
????????echo?"check?ok?"????????
????else????????????????
????????echo?"error?input"????????????????
????????exit?10????????
????fi
else????????
????echo?"num1,num2,ope?must?be?not?null"????????
????exit?11
fi

#?開始計算
if?[?"$ope"?==?"+"?]
then????????
????res=$(($num1+$num2))
elif?[?"$ope"?==?"-"?]
then????????
????res=$(($num1-$num2))
elif?[?"$ope"?==?"*"?]
then????????
????res=$(($num1*$num2))
elif?[?"$ope"?==?"/"?]
then????????
????res=$(($num1/$num2))
else????????
????echo?"ope?error"
fi
echo?"res:$res"


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

舉報

0/150
提交
取消

請問這個是哪里有錯誤

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

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

幫助反饋 APP下載

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

公眾號

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