linux - 如何使用 SH 从文本填充创建列表?
问题描述
我需要创建一个 SH 脚本来读取包含目录列表的文件
dirA
dirB
dirC
并使用此信息生成如下命令:
go test -coverprofile=coverage.out dirA dirB dirC
调用包文件.package-list
,这是我目前拥有的脚本:
while read package;
do
go test -coverprofile=coverage.out ./$package
done <.package-list
问题是该脚本执行该go test
命令三次:
go test -coverprofile=coverage.out ./dirA
go test -coverprofile=coverage.out ./dirB
go test -coverprofile=coverage.out ./dirC
我该怎么做才能读取文件并生成我需要的命令?
解决方案
如果使用bash
而不是sh
(您都已标记,因此不清楚您的目标是哪个外壳),您可以将文件的行读入数组:
readarray -t packages < .package-list
go test -coverprofile=coverage.out "${packages[@]}"
推荐阅读
- java - 关于程序世界生成的问题 - 我只能生成丘陵地形
- c# - AutoMapper:将嵌套对象映射到平面
- python-3.x - Python - Jira 使用 /rest/api/2 创建具有共享配置的项目(现有项目)
- c++ - 程序中的输入和输出
- c++ - 为什么我可以访问其他班级的私人成员?
- typescript - Vue.js 中奇怪的“无限更新循环”
- types - 不同 ocaml 模块中的相同类型不匹配
- angular - 如何在 Typescript 中的字符串中添加新行 - Angular 8
- python - 在属于类的函数内定义变量
- python - 如何在python中设置超时并打印时间倒计时