数字转换器中的语法错误

时间:2017-12-04 16:34:30

标签: bash dash-shell

我正在尝试编写一个转换数字库的程序。例如,从基数10转换为基数2时,输入5将导致输出101

这是我的代码:

#!/bin/sh
while read line
do
convert_base()
{
    number=$1
    inputbase=$2
    outputbase=$3
    echo "obase=$outputbase;ibase=$inputbase;$number" |bc
}
convert_base $1 $2 $3
echo $line >> $2
done < $1

但这给了我一个语法错误。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

这可以简单得多:

while read num inb outb ; do echo "obase=$outb;ibase=$inb;$num" | bc; done
5 10 2
101
17 8 10
15