我需要创建一个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
如何读取文件并生成所需的命令?
4条答案
按热度按时间eanckbw91#
如果使用
bash
而不是sh
(您已经标记了两个shell,所以不清楚您的目标shell是哪个),您可以将文件的行读入数组:pw136qt22#
使用
xargs
1l5u6lss3#
如果文件不是特别大,只要目录名本身不包含换行符,就可以一次将整个文件读入数组:
uubf1zoe4#
另一个选项: