Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Loops 通过循环迭代生成Makefile命令_Loops_Makefile - Fatal编程技术网

Loops 通过循环迭代生成Makefile命令

Loops 通过循环迭代生成Makefile命令,loops,makefile,Loops,Makefile,我想将命令直接“构建”到我的Makefile中。 我需要这样的东西: # Makefile CLUSTERS: 1 2 3 build: COMMAND="" for cluster in $(CLUSTERS) ; do \ COMMAND+=$(shell echo "path\to\command command "$$cluster" & ") ; \ done COMMAND+=$(shell echo "wait") $(DOCKER_EXEC) ${COMMAN

我想将命令直接“构建”到我的Makefile中。 我需要这样的东西:

# Makefile

CLUSTERS: 1 2 3

build:
COMMAND=""
for cluster in $(CLUSTERS) ; do \
    COMMAND+=$(shell echo "path\to\command command "$$cluster" & ") ; \
done
COMMAND+=$(shell echo "wait")
$(DOCKER_EXEC) ${COMMAND}
然后,
make build
将相当于:

path\to\command command 1 & path\to\command command 2 & path\to\command command 3 & wait

我假设您使用GNU
Makefile

在这种情况下

CLUSTERS=1 2 3                       
COMMAND=$(subst &, &,$(addprefix path\to\command command,$(addsuffix &,${CLUSTERS}))   
COMMAND+="wait"

build:
    $(DOCKER_EXEC) ${COMMAND}

我更新了我的问题,不够清楚(对不起)。我需要能够在docker容器中发送整个命令我得到了
path/to/command-command-1&path/to/command-2&path/to/command-3&
它非常接近,但我需要在图形之间留出一个空间,比如:
path/to/command-1&path/to/command-2&path/to/command-3&
@RaDyUm我希望它现在很完美:)