bash直到循环等待docker运行-不工作:

时间:2019-06-02 17:29:44

标签: bash docker

您知道为什么这不起作用吗?

function WaitForUp(){
    echo $1
    docker inspect -f {{.State.Status}} $1
    until [ "docker inspect -f {{.State.Status}} $1"=="running" ]; do
        sleep 0.1;
        echo "Loopo"
    done;
}

1 个答案:

答案 0 :(得分:0)

在编写时,import java.util.Calendar; import java.util.Date; import java.util.TimeZone; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { Calendar calender = Calendar.getInstance(); calender.setTimeZone(TimeZone.getTimeZone("Europe/Paris")); if (calender.getTime().after(new Date(calender.getTime().getYear(), calender.getTime().getMonth(), calender.getTime().getDay(), 22, 0))) { setTheme(R.style.DarkTheme); } else { setTheme(R.style.LightTheme); } } } 是一个字符串。 bash替换了"docker inspect -f {{.State.Status}} $1",然后将结果字符串与$1进行比较,该字符串总是不同的。

如Inian的评论中所指出的那样,您可以使用"running"来让bash将"$(...)"作为命令执行,并将命令输出替换为字符串。