我有一个正在编写的脚本,可以使用promela模型自动运行特定的测试。
用户必须向promela模型和另一个文件提供他们希望针对该模型运行的ltl属性。
我使用以下命令逐行读取文件:
while read line; do
do_something()
end < $PROPERTIES
do_something()更复杂,但是我遇到的主要问题是最终我想调用以下内容
spin -run -m100000 -f $line $PROMELAFILE >> $OUTFILE
最终命令应如下所示
spin -run -m100000 -f '[] true' file.pml >> out.txt
最终命令确实可以在命令行中正常工作。要使-f选项正常工作,引号是绝对必要的。
问题是$ line变量,当从文件中读取它时,它看起来如下所示
'[]是'
它也可能看起来像
“ []是”
在语义上是等效的。
但是,我不断收到以下错误消息
unexpected EOF while look for matching `"'
syntax error: unexpected end of file
无论是单引号还是双引号,都会发生此错误
这使我认为,当$ line扩展时,关于bash以及'和'的使用我不了解。
您可以提供的任何帮助/理解都将非常有帮助。谢谢!