UNIX shell Korn Scripting - PullRequest
       6

UNIX shell Korn Scripting

1 голос
/ 07 апреля 2019

Это задача.

Приложение UNIX, которое принимает несколько текстовых входов и выводит некоторые данные.Затем данные анализируются и [делаются вещи с].Программа представляет собой консольное приложение, которое, как я предполагаю, использует NCurses, но по сути это консольное приложение.

У меня нет контроля над блоком UNIX, поэтому я могу использовать только то, что установлено на нем.У него есть оболочка Корн.Нет Python, нет ожидания и т. Д., Поэтому это должны быть ответы, представляющие собой оболочку Korn.

Основная идея заключается в том, чтобы подключаться к серверу UNIX по SSH, запускать приложение каждые 4 минуты и получать окончательный вывод.

Первоначально я пытался сделать это, используя Python на клиентском компьютере с Paramiko, и он проделал определенную работу, но, честно говоря, он очень хакерский.

Я решил запустить скрипт Korn на сервере UNIX, который просто создаетфайл после завершения вывода.Я игнорирую анализ файла, так как это достаточно просто.Моя общая идея - открыть SSH, подключиться, запустить Korn Script, захватить файл и делать все, что угодно.

Теперь предположим, что приложению UNIX необходимо это:

Отправить имя пользователя \ n

Отправить пароль \ n

Отправить какой-нибудь текст поиска \ n

Отправить другой текст \ n

Нажмите любую клавишу для выхода \ n

Сейчас яМы соединили это, и в идеальном мире это работает.

#!/usr/bin/ksh

./SSH-Test << TextForInput > the-data-i-want.txt
the-username
the-password
some-input
some-other-input 
some-key-press

exit 0

Мой вопрос в том, что все хорошо, если все работает.(возможно, есть лучший способ сделать это).Если, скажем, пароль изменился, это, очевидно, не сработает, но если он не сработает, я не хочу, чтобы этот процесс оставался открытым.

То, что я хочу, - это что-то вродене работал, закрыть этот процесс через некоторое время, может быть).

Например (не реальный код):

#!/usr/bin/ksh

Try Timer(Kill when been running for 4 mins)
{
    ./SSH-Test << TextForInput > the-data-i-want.txt
    the-username
    the-password
    some-input
    some-other-input 
    some-key-press
    exit 0
}
Catch
{
    KILL this process as something has gone wrong
}

Этот код может быть абсолютно неправильным, поэтому я открыт для опций.И снова, прежде чем вы порекомендуете [ХОЛОДНАЯ БИБЛИОТЕКА ЗДЕСЬ], на этом сервере их нет, и я не могу их установить.Только сценарий Korn.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...