我想在 redhat linux 上运行 exec $Docker-run 命令直到成功。循环执行它?
$Docker-run = docker run --env-file .env Image-name
有人能提供解决方案吗?
答案1
一个简单的 while 循环和条件语句就可以为您做到这一点。
例如
#!/usr/bin/env bash
CONTAINER_SUCCESS=0
while [ $CONTAINER_SUCCESS -ne 1 ]; do
docker run --rm alpine uname -a
CONTAINER_EXIT=$?
if [ $CONTAINER_EXIT -eq 0 ]; then
CONTAINER_SUCCESS=1
fi
done
运行 时uname -a
,退出代码为0
,且脚本未循环。运行 时failure
,没有与此匹配的二进制文件,且运行命令继续执行。
这确实假设您的成功状态是0
,但可以根据您的需要进行编辑。