Bash - 提高权力时的变量指数

时间:2016-12-08 21:49:16

标签: linux bash bc

这有效

answer=$(echo "2^3" | bc)
$ 8

但是,这不是。这是完整的脚本:

#!/bin/bash
myvar=$(echo "4-1" | bc)    
answer=$(echo "2^$myvar" | bc)
echo $answer

当我使用'set -x'运行时,这是输出

./test.sh: line 3: syntax error near unexpected token '|'
./test.sh: line 3: 'myvar=(echo "4-1" | bc)
++ echo '2^'
++ bc
(standard_in) 2: syntax error
+ answer=
+ echo

我想坚持使用bc,但无法弄清楚如何将var作为指数传递。

1 个答案:

答案 0 :(得分:3)

如果您的脚本实际

,这就是您可以获得的确切错误
#!/bin/bash
myvar=(echo "4-1" | bc)    
answer=$(echo "2^$myvar" | bc)
echo $answer

请注意第一个$

中缺少$()