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

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

誰來幫我解答一下這段代碼有什么問題

#!/bin/bash

read -t 30 -p "please input two number:" number

read -t 30 -p "please input yunsuanfu:" number2

read -t 30 -p "please input number" number3

if [ -n "$number" -a -n "$number2" -a -n "$number3" ]

then

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

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

test3=$(echo number2 | sed 's/[+-*/]//g')

if [-z "$test1" -a -z "$test -a -z "$test" ]

then

case "$number2" in

"+")

? ? ? ? echo $(( "$number1" + "$number2" ))

? ? ? ? ;;

"*")

? ? ? ? echo $(( "$number1 * "$number2))

? ? ? ? ;;

"-")

? ? ? ? echo $(( "$number1" - "$number2" ))

? ? ? ? ;;

esac


fi

fi


正在回答

1 回答

錯誤點:

1、單詞寫錯:number1不存在,上面寫的是number 等等

2、將運算符替換為空,運算符需要進行轉義,否則系統把運算符當成正則表達式了


#!/bin/bash


read -t 30 -p "please input two number:" number1

read -t 30 -p "please input yunsuanfu:" number2

read -t 30 -p "please input number:" number3


#判斷輸入的三個參數是否為非空

if [ -n "$number1" -a -n "$number2" -a -n "$number3" ]

then

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

test2=$(echo "$number2" | sed 's/[\+\-\*\/]//g')

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

#判斷替換后的三個參數的新value是否為空,為空則表示輸入的參數格式正確

if [ -z "$test1" -a -z "$test2" -a -z "$test3" ]

then

case "$number2" in

"+")

? ? ? ?echo $(($number1 $number2 $number3))

? ? ? ?;;

"*")

? ? ? ?echo $(($number1 $number2 $number3))

? ? ? ?;;

"-")

? ? ? ?echo $(($number1 $number2 $number3))

;;

esac


fi

fi

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

kkkbbb 提問者

非常感謝!
2015-11-09 回復 有任何疑惑可以回復我~
#2

阿強0519

if [ -z "$test1" -a -z "$test2" -a -z "$test3" ] 請問這個語句test1前面不用判斷是否存在么?
2019-05-24 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

誰來幫我解答一下這段代碼有什么問題

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

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

幫助反饋 APP下載

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

公眾號

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