我试图弄清楚为什么在试图从命令行运行基本的计算器java程序时,在意外标记'(‘附近出现-bash:语法错误。
该项目已经完成提交和评分,所以没有学术欺诈的意图。
在我的终端(macOs 10.13.6)中,我使用以下命令运行程序:
java InfixExpressionEvaluator (a+b)*(c-9) "a=1 b=2 c=3";其中,(a+b) * (c-9)是要使用以下给定变量进行计算的表达式。然而,每次我得到-bash:语法错误附近意外的标记'(‘。这是由于expression (a+b) * (c-9)的格式造成的吗?我不熟悉bash脚本,但从一些谷歌搜索看,似乎终端试图将'(‘解释为脚本的一部分,为了绕过这一点,我需要将(a+b) * (c-9)放在引号中,即"(a+b) * (c-9)"。这是正确的吗,还是我遗漏了什么?
发布于 2018-10-26 01:28:57
“将要求值的表达式”需要加引号,因为它包含几个对(有特殊意义的字符( )、*)。这应该是可行的:
java InfixExpressionEvaluator '(a+b)*(c-9)' 'a=1 b=2 c=3'不需要扩展,所以我使用了单引号而不是双引号。我删除了尾随的;,因为Bash不需要它。
https://stackoverflow.com/questions/52993440
复制相似问题