这个*有毒

来源:4-2 shell多分支if语句例:计算器

阿愣丶

2017-11-17 22:29

#!/bin/bash

if [ -n $1 -a -n $2 -a -n $3 ]
        then
        test1=$( echo $1|sed 's/$1//g' )
        test2=$( echo $3|sed 's/$1//g' )
        if [ -z $test -a -z $test ]
                then
                if [ $2 == "+" ]
                        then
                        result=$(( $1 + $3 ))
                elif [ $2 == "-" ]
                        then
                        result=$(( $1 $2 $3))

                #elif [ $2 == "*"  ] 这儿不能用*怎么解决
                elif [ $2 == "x" ]
                        then
                        result=$(( $1 * $3 ))
                 elif [ $2 == "/" ]
                        then
                        result=$(( $1 $2 $3))
                else
                        echo "输入正确的运算符"
                        exit 3
                fi
        else
                echo "输入的值要是数值"
                exit 2
        fi
        echo $1 $2 $3 : $result
else
        echo "输入不能为空"
        exit 1
fi


写回答 关注

1回答

  • 家迪的家
    2017-11-28 10:15:16

    改为单引号括起来,,,你可以去查一下单括号,双括号,以及中括号的用法

    家迪的家

    是单引号,双引号和反引号。。。

    2017-11-28 10:16:09

    共 1 条回复 >

shell编程之条件判断与流程控制

Linux shell实用案例学习,一定会使你Linux运维能力再次提高

35507 学习 · 139 问题

查看课程

相似问题