当试图从命令行运行基本计算器Java程序时,我试图弄清楚为什么我得到-bash:语法错误,出现意外标记'('附近)。
该项目已完成提交并已评分,因此没有学术上的不诚实意图。
在我的终端(macOs 10.13.6)中,我正在使用以下程序运行该程序:
java InfixExpressionEvaluator (a+b)*(c-9) "a=1 b=2 c=3";
其中(a+b) * (c-9)
是要使用以下给定变量求值的表达式。但是,每次我得到-bash:意外标记'('附近的语法错误。这是由于表达式(a+b) * (c-9)
的格式引起的吗?我对bash脚本不熟悉,但是在某些Google搜索中,它看起来好像终端试图将'('解释为脚本的一部分,为了解决这个问题,我需要将(a+b) * (c-9)
放在引号内,即"(a+b) * (c-9)"
。这是正确的,还是我有什么意思?丢失了吗?
答案 0 :(得分:0)
需要引用“要评估的表达式”,因为它包含对Bash具有特殊意义的几个字符((
,)
,*
)。这应该起作用:
java InfixExpressionEvaluator '(a+b)*(c-9)' 'a=1 b=2 c=3'
不需要扩展,因此我使用单引号而不是双引号。我删除了结尾的;
,因为Bash不需要它。