bash - Bash 错误消息:意外标记“|”附近的语法错误
问题描述
我正在创建一个计算圆面积的程序,但由于标题中的错误消息,bash 无法编译和执行。这是我的代码:
elif [ $num -le 6 ] && [ $num -ge 4 ]
then
read -p "Enter radius: " radius
let areaCirc=("scale=2;3.1416 * ($radius * $radius)"|bc)
echo "Area of the circle is: " $areaCirc
并且错误消息是: 意外标记'|'附近的语法错误
有人能帮我吗?
解决方案
- 要通过标准输入将字符串发送到命令,请使用here-string
command <<< string
,而不是管道。 - 命令替换语法是
$(...)
,不是(...)
。 - 不要
let
在这里使用。Shell 算术仅支持整数。
areaCirc=$(bc <<< "scale=2;3.1416 * ($radius * $radius)")
推荐阅读
- sql - 标准sql中的复合百分比
- typescript - Typescript 类型运算符:将对象类型转换为联合
- java - Netty获取客户端绑定的主机和端口
- linux - vagrant 命令中的反引号
- uml - 如何正确绘制具有访问限制的用例图?
- sql - SQL Server:使用 CTE 行分区序列化顺序时间戳
- r - 如何在单个图上为随机福雷斯特、决策树和逻辑回归绘制 ROC 曲线
- node.js - 在 aws lambda nodejs 函数中获取音频持续时间
- sass - 为什么我的小图像是全屏宽度,即使我的 scss 文件中没有标记表明如此?
- proof - 证明数据类型之间转换的正确性