分配从Makefile配方中的文件中读取的变量

问题描述 投票:1回答:1

我正在尝试在Makefile配方中执行以下操作。使用python脚本获取服务器container-ip。构建命令以在Docker容器中运行。在Docker容器中运行命令。

test:
    SIP=$(shell python ./scripts/script.py get-server-ip)
    CMD="iperf3 -c ${SIP} -p 33445"
    docker exec server ${CMD}

我明白了

$ make test
SIP=172.17.0.6
CMD="iperf3 -c  -p 33445"
docker exec server 
"docker exec" requires at least 2 arguments.
See 'docker exec --help'.

用法:docker exec [OPTIONS]容器命令[ARG ...]

在正在运行的容器中运行命令制作:*** [测试]错误1

python makefile gnu-make
1个回答
0
投票

我最终得到了这样的东西。

SERVER_IP=$(shell python ./scripts/script.py get-server-ip); \
    SERVER_CMD="iperf3 -s -p ${PORT} -4 --logfile s.out"; \
    CLIENT_CMD="iperf3 -c $${SERVER_IP} -p ${PORT} -t 1000 -4 --logfile c.out"; \
    echo "Server Command: " $${SERVER_CMD}; \
    echo "Client Command: " $${CLIENT_CMD}; \
    docker exec -d server $${SERVER_CMD}; \
    docker exec -d client $${CLIENT_CMD};

这似乎正常。很想知道是否还有其他方法可以这样做。

© www.soinside.com 2019 - 2024. All rights reserved.