Доброго времени суток! Ситуация следующая: Где-то далеко-далеко существует контроллер, который мониторит состояние определенного оборудования. Через XML доступна нужная информация, где все значения указаны в виде <параметр>значение</параметр>. В моем случае одна из строк: <cond10>stop</cond10>. Всего 2 возможных значения - stop и work. Необходимо сделать парсер этой самой XML-страницы и написать bash скрипт, выдающий при значении stop цифру 0, а при значении work 1. (судя по всему, передавать данные необходимо POST-запросом, чтобы получить в ответ XML со счетчиками).
Плюс ко всему при переходе на страницу с данными (192.168.1.1/protect/status.xml) контроллер запрашивает логин и пароль, то есть надо еще и залогиниться.
Кое-что проясню: Программистов у нас нет, поэтому задачу поручили мне. В последний раз я сталкивался с программированием еще в школе, так что никакие скрипты никогда в жизни не писал и ничего близко к этому не делал, поэтому прошу помощи. Сейчас наверно посыпятся гневные комментарии в стиле «тупой, чего вообще полез в эту сферу?». Я вас прекрасно понимаю, надо сначала читать, изучить основы программирования, я это сделаю, но задача стоит срочная, никого не волнует, что я в этом полный ноль, без посторонней помощи я пропал.
Чтобы вы не думали, что я совсем ничего не пытался, и просто чтобы вы улыбнулись, вот что я вымучил:
#!/bin/bash
host="http://192.168.1.1/protect/status.xml";
login="admin"
password="admin"
xml='curl -X POST "http://192.168.1.1/protect/status.xml"'\
if [[ `echo $xml | grep cond10>stop` ]]
then
result= echo "0"
sleep 3;
elif
[[ `echo $xml | grep cond10>work` ]]
then
result= echo "1"
sleep 3;
else
result= echo "fail"
fi
Прекрасно понимаю, что это бредятина. Прошу помочь у кого есть время, или ссылки дать на подобные решения, в которых смогу хоть что-то понять. Спасибо!