Eu percebi desde que eu pude ver que a variável não estava sendo lida fora do loop que eu precisava repensar. O propósito do loop era continuar tentando até que o servidor estivesse funcionando. Então simplifiquei a coisa toda e acabei de sair no último passo, se for verdade.
#!/bin/bash
check="false"
webserv="http://localhost:8088/main/system/gwinfo"
Keyword="RUNNING" # enter the keyword for test content
until [$check=="true"]
do
if curl -s "$webserv" | grep "$Keyword";
then
# if the keyword is in the conent
./clientlauncher.sh scope=C project=Edge windowmode=fullscreen
exit
fi
done