Я пытаюсь выяснить, можно ли прогматически перемещаться по приложению linux shell - на основе текста.Программно перемещаться по приложению linux shell
В частности, я хотел бы добиться этого с помощью PHP и phpSecLib, но если Вы знаете лучше/легкий способ обойти это, пожалуйста, шаг в.
Я знаю, как использовать PHP + phpSecLib войти в сервер Linux через SSH, и запускать команды оболочки.
Итак, у нас есть это стороннее приложение на нашем серверном сервере, где у нас нет возможности доступа к живым данным. Приложение имеет отчет, который мы можем сгенерировать, что даст нам «живую» картину различных KPI, однако этот экран отчета не обновляется автоматически, поэтому нужно было бы отступить от отчета и сгенерировать его снова для обновленных KPI.
Когда приложение запускается, я представил с «заставки экрана», говоря «Добро пожаловать в Ye Olde Application вер. 3,14159» (имя вымышленное), вскоре после того, как «экран/выход» обновление происходит и " Главное меню ", где каждый menupoint доступен нажатием клавиши (1-9a-z).
Главное меню
┌────────────────────────────────────────────────┐
│ │
│ 1 Foo bar │
│ 2 Same procedure │
│ 3 Rudolph Reindeer │
│ 4 Report generator │
│ 5 Log-off system │
│ │
└────────────────────────────────────────────────┘
Так что в этом случае я хотел бы перейти в "4 Генератор отчетов" [Нажмите кнопку 4]. После этого «экран/вывод» обновляется с новым подменю, как указано выше, с другими параметрами. Здесь я перешел к «1 Создать новый отчет» [Нажмите 1], снова обновите «экран/выход». Теперь с новым меню перейдите в «2 Superhandy Super-Report» [Нажмите 2].
После этого я хотел бы сохранить текст с экрана отчета в документ для дальнейшего разбора. Но это не первая проблема.
Другая идея может быть ..
..разработать сделать это в раковине-скрипт (Bash) каким-то образом с макро или аналогичный.
Меню, вероятно, создается с использованием escape-кодов ANSI. Вы можете их декодировать следующим образом: http://phpseclib.sourceforge.net/ssh/examples.html#top Что касается того, действительно ли это отвечает на ваш вопрос ... idk. Я не совсем уверен, в чем ваш вопрос? – neubert