这有效
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作为指数传递。
答案 0 :(得分:3)
如果您的脚本实际:
,这就是您可以获得的确切错误#!/bin/bash
myvar=(echo "4-1" | bc)
answer=$(echo "2^$myvar" | bc)
echo $answer
请注意第一个$
$()