首页 文章

意外标记附近的语法错误“(”,间接扩展变量声明

提问于
浏览
0

在BASH,

我应该注意,变量$ Lambda0_List等是从代码中较早的输入文件中读取的 .

PARAM_ARRAY =(“Lambda0”“N”“M”“Sigma”)

我在“$ {PARAM_ARRAY [@]}”

目录= “$ I” _List

变化= “$ I” _Vary

Use_Range = “$ I” _Use_Range

Initial_Str = “$ I” _Initial

Final_Str = “$ I” _Final

Step_Str = “$ I” _Step

初始= $ {!Initial_Str}

步骤= $ {!Step_Str}

最终= $ {!Final_Str}

if [“$ {!Vary}”==“T”]

然后

if [“$ {!Use_Range}”==“T”]

然后

eval“$ List =(seq $ Initial $ Step $ Final)”

echo“$ i:vary,use_range”

其他

echo“$ i:不同,使用列表”

科幻

科幻

DONE

引发语法错误

意外令牌附近的语法错误`(''

通常我能够解释错误并找到解决方案,但我不明白为什么“(”是一个意外的令牌 .

编辑:

我注意到如果我在shell中运行它,这行可行,但不在我的脚本中,

编辑:

摆弄有问题的线条,我发现即使它被注释掉,我也会收到语法错误!

/test.sh:line 266:意外标记附近的语法错误(' . / test.sh:第266行:######## eval“$ List =(seq $ Initial $ Step $ Final)” “

3 回答

  • 0

    为什么不使用elif或case?

    评估“$ List =( seq $Initial $Step $Final )”

    代替

    评估“$ {List =( seq $Initial $Step $Final )} " or eval " $ {List = seq $Initial $Step $Final }”

  • 0

    之后!最后你有a)而不是}

  • 0

    在筛选了一些早期的代码之后,我修复了'vs'的一些问题,并且这个错误停止了 . 我是BASH的新手所以我没想到带有')'的错误消息是由引用100行引起的以上 .

相关问题