Я пытаюсь дождаться, когда мой контейнер-докер будет запускать некоторые команды.Почему это пока условие не сломается
я делаю следующее:
#!/bin/bash
DOCKER_IP=192.168.99.100
ES_PORT=9300
docker-compose up -d
while [ -z "$(nc -z $DOCKER_IP $ES_PORT)" ]; do
sleep 1
done
echo "Do some stuff now it's up !"
Я уже проверить с cat -e
возвращение nc -z
пусто, без кавычек, с [ ! -n $(nc ...)]
как условным выражением ...
Когда возвращение nc
не пусто, у меня есть Connection to 192.168.99.100 port 9300 [tcp/vrace] succeeded!
в цикле, и он никогда не выходит.
Почему это простое условие цикла не работает?