小编rob*_*e70的帖子

Makefile - 没有这样的文件或目录错误

我正在尝试创建一个 Makefile 目标,它首先检查我的 Docker 容器是否存在。如果它存在,那么我想发出 Docker Container Restart 命令,否则我想发出 Docker Run 命令来创建和启动容器。

我已对以下内容进行编码,但出现如下所示的错误。结果 = 1 是正确的,因为我确实有一个容器正在运行。我已经移除了容器并测试结果变为 0,这也是正确的。问题似乎是当我尝试在ifeq语句中使用结果时。有人可以告诉我我做错了什么吗?(我在调试时暂时注释掉了 docker 命令并用 echo true / false 替换了它们)。

start_docker_myapp:
    result = $(shell (docker ps -a | grep myapp ) | wc -l )
    ifeq (${result}, 1)
        @echo 'true'
# docker restart ${IMAGE}
    else
        @echo 'false'
# docker run -v ${DIR}/var/log/docker:/var/log/myapp -p 1812:1812/udp  -p 1813:1813/udp --detach  --name ${IMAGE} $(REGISTRY)/$(IMAGE):$(TAG)
    endif
Run Code Online (Sandbox Code Playgroud)

终端输出

$ make start_docker_myapp
result =        1
make: result: No such file or …
Run Code Online (Sandbox Code Playgroud)

make

5
推荐指数
1
解决办法
9947
查看次数

IF语句中-n是什么意思

bash>BRANCH_NAME="My/Test/Branch/Name"
bash>if [ -n "${BRANCH_NAME}" ]; then echo ${BRANCH_NAME}; else echo "latest"; fi
Run Code Online (Sandbox Code Playgroud)

结果

bash>"My/Test/Branch/Name"
Run Code Online (Sandbox Code Playgroud)

它的目的是什么-n,我在哪里可以找到有关它的一些文档?我猜测该标志正在检查空字符串或空字符串。

bash

-1
推荐指数
1
解决办法
1947
查看次数

标签 统计

bash ×1

make ×1