无法为bash编写脚本

时间:2013-03-08 00:53:30

标签: linux bash

我必须用bash编写一个程序,我逻辑上理解如何做到这一点我只是无法进入代码。问题是这个“编写一个名为”乘法“的程序来从用户那里得到两个数字并计算第一个数字乘以第二个数字并显示结果。 您只能使用循环和加法运算符(+)。您不能使用(*)。“

我得你必须在另一个数字上添加一个数字以获得“产品”,但我不知道如何。

任何帮助?

3 个答案:

答案 0 :(得分:2)

将其放入脚本中。将其命名为multiplychmod +x multiply以使其可执行。

#!/bin/bash
read -p "Enter the first value: " a
read -p "Enter the second value: " b
product=0
for (( i=0; i<b; i++ )); do
  ((product+=a))
done
echo $product

以下是运行它的示例:

bash-4.1$ multiply
Enter the first value: 8
Enter the second value: 7
56
bash-4.1$

答案 1 :(得分:0)

在函数式编程中看起来像

multiply(a,0) -> 0;
multiply(a,b) -> a + multiply(a,b-1).
在bash中,它看起来像

#!/bin/bash
ANS=0
function multiply {
for i in `seq 0 $2`
ANS+=$1
}
echo ANS

答案 2 :(得分:0)

#!/bin/bash
SCALE=0;
if [[ $# -eq 0 ]]; then
    printf "Usage:   $0 <simple_math_problem>\n";
    printf "Example: $0 1+1\n";
else
    bc<<EOM
    scale=${SCALE};
    $@;
    quit;
EOM
fi