当前位置: 技术问答>linux和unix
'echo "$x + 1" | bc'是什么意思?
来源: 互联网 发布时间:2016-06-08
本文导语: 如题,当我运行shell程序时总是报错,说while.sh: line 8: echo "$x + 1" | bc: 语法错误:无效的算术运算符 (error token is ""$x + 1" | bc"),但是书上的例程大量使用这种写法。为什么报错,如何修改?请大虾指教阿 | ...
如题,当我运行shell程序时总是报错,说while.sh: line 8: echo "$x + 1" | bc: 语法错误:无效的算术运算符 (error token is ""$x + 1" | bc"),但是书上的例程大量使用这种写法。为什么报错,如何修改?请大虾指教阿
|
#!/bin/bash
declare -i x=0
while [ $x -ne 10 ]
do
echo $x
#x=x+2
x=$(echo "$x+1" | bc)
done
|
x='echo "$x+1" | bc' # '
# !=
x=`echo "$x+1" | bc` # `
# !=
x=`echo "$x+1" | bc` # `
|
那是应为变量 x 未定义。
[martin@martin tmp]# echo "$x + 1" | bc
(standard_in) 1: parse error
[martin@martin tmp]# x=1
[martin@martin tmp]# echo "$x + 1" | bc
2
|
[root@test1 ~]# echo "1 + 1" | bc
2
[root@test1 ~]#