even if status becomes "UP", while to be will be continue. why can't i use a variable in a loop as a condition?
export confup=false
export blup=false
timeout 30 bash <<EOF || false
while [[ $( curl http://0.0.0.0/ | jq -r '.status') != "UP" ]];
do
if [[ $( curl http://0.0.0.0/ | jq -r '.components."bridge.lock".status') == "UP" && \$blup == "false" ]]; then
echo "true
export blup=yes
fi
if [[ $( curl http://0.0.0.0/ | jq -r '.components."Configuration converted".status') == "UP" && \$confup == "false" ]]; then
echo "true"
export confup=yes
fi
echo $( curl "http://0.0.0.0/" | jq -r '.status')
sleep 5
done
EOF
blupandconfupwon't be visible in your (parent) script.