Я подошел вплотную к этой работе, но я не могу заставить сценарий закончить успешную работу. Он просто повторяется.
Для целей тестирования я просто хочу отобразить диалог, когда URL-адрес содержит строку «RUNNING». В конце концов, это будет мой триггер для запуска клиента, который требует, чтобы сервер был готов.
Чтобы увидеть, что происходит, я добавил дополнительные диалоги, отображающие значение проверки $.
Вот что я до сих пор:
#!/bin/bash
check="false"
webserv="http://localhost:8088/main/system/gwinfo"
Keyword="RUNNING" # enter the keyword for test content
zenity --error --text=$check --title="Warning\!";
until [$check=="true"]
do
zenity --error --text=$check --title="Warning\!";
if curl -s "$webserv" | grep "$Keyword";
then
# if the keyword is in the conent
zenity --error --text="RUNNING\!" --title="Warning\!";
check="true";
fi
done
Что я вижу при выполнении следующих диалогов: 1. false 2. false 3. RUNNING /! 4. true
После этого он просто повторяет RUNNING /! & Амп; правда. До тех пор, пока цикл не увидит true.
Любые идеи?
Я понял, что, поскольку я видел, что переменная не читается вне цикла, мне нужно было переосмыслить ее. Вся цель цикла, конечно, заключалась в том, чтобы продолжать попытки, пока сервер не заработает. Поэтому я упростил все это и просто вышел на последнем шаге, если это правда.
#!/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
Я понял, что, поскольку я видел, что переменная не читается вне цикла, мне нужно было переосмыслить ее. Вся цель цикла, конечно, заключалась в том, чтобы продолжать попытки, пока сервер не заработает. Поэтому я упростил все это и просто вышел на последнем шаге, если это правда.
#!/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