我正在运行一个bash脚本,该脚本通过greps文件来识别测试,然后它应该将结果输出到字符串并存储在变量中。当命令单独运行时,它会在一行中正确地回显所有文件,但当我尝试将结果分配给变量时,只显示一个。
这将按预期工作,并显示预期文件的完整列表。
grep -Erli ' @IsTest| testmethod' './build/source/classes' | sed 's#.*/## ; s#.cls##' | xargs echo
但是,当我这样做时,回显的结果是只有一个文件列在
TESTS
变量
TESTS=($(grep -Erli ' @IsTest| testmethod' './build/source/classes' | sed 's#.*/## ; s#.cls##' | xargs echo))
echo $TESTS
把它放在变量赋值表达式中有什么问题吗?这似乎是每个项目之间的空白问题。如果我加上
| tr ' ' ','
到最后,它用逗号替换了空白,列出了所有内容,但这不是我可以使用的解决方案。我需要一个以空格分隔的文件列表。