动态添加shell脚本中的2个数字

时间:2016-03-24 08:06:44

标签: linux bash shell unix

我正在尝试从用户那里获取输入,然后根据该输入执行添加操作或执行减法操作。选项1用于加法,2用于减法。我得到的错误是:

number.sh:line 12:d:找不到命令 (对于加法第12行)

number.sh:line 17:d:找不到命令 (对于减法线17)

以下是代码:

#!/bin/bash
echo "enter choice"
echo "enter 1 for addition"
echo "enter 2 for subtraction"
read a
echo "entered choice is" $a
echo "now enter 2 numbers"
if [ $a = 1]; then
read b
read c
d = `expr $b + $c`
echo "addition of 2 numbers is" $d
elif [ $a = 2]; then
read b
read c
d = `expr $b - $c`
echo "subtraction of 2 numbers is" $d
else
echo "enter valid choice"
fi

2 个答案:

答案 0 :(得分:1)

您的作业周围有额外的空格,[]表达式周围缺少空格。这是一个更正版本。请注意,当您使用两个read调用时,在提供输入时需要在两者之间使用换行符。也就是说,您必须在命令行上键入1 <Enter> 2 <Enter> 3 <Enter>才能获得5的结果。

#!/bin/bash
echo "enter choice"
echo "enter 1 for addition"
echo "enter 2 for subtraction"
read a
echo "entered choice is" $a
echo "now enter 2 numbers"
if [ $a = 1 ]; then
read b
read c
d=`expr $b + $c`
echo "addition of 2 numbers is" $d
elif [ $a = 2 ]; then
read b
read c
d=`expr $b - $c`
echo "subtraction of 2 numbers is" $d
else
echo "enter valid choice"
fi

答案 1 :(得分:-1)

第12和17行的=符号周围不应有空格。删除这些空格。 在bash中,赋值运算符=周围不应有空格。