我试图编写一个快速脚本,将简单的计算传递给bc,但是,当我尝试包含括号的计算时,会出现以下错误:
-bash:在意料之外的令牌‘()附近出现语法错误
我如何编写脚本来转义给它的任何字符?
这是我现在的代码:
calc()
{
echo "$*" | bc
}我称之为:
calc 100 + 10 + (10 * 10)引用输入是有效的,但我不想这么做(显然,我很懒,试图使添加数字更容易)。
发布于 2019-04-24 13:38:03
calc '100 + 10 + (10 * 10)'
calc 100 + 10 + '(10 * 10)'
calc 100 + 10 + \(10 \* 10\)错误不在calc()中,而是在调用它的代码中。括号和星号是shell中的特殊字符,因此您需要引用它们。在calc()中,您什么也做不了,因为shell甚至在调用它之前就已经开始发脾气了。
引用输入的工作,但我不想这样做。
这是不可避免的。抱歉的!
https://stackoverflow.com/questions/55831133
复制相似问题