UNIX shell Korn脚本编制

时间:2019-04-06 22:59:56

标签: linux shell unix automation scripting

这是任务。

一个UNIX应用程序,它接受多个文本输入并输出一些数据。然后解析数据并[完成处理]。我猜该程序是一个控制台应用程序,正在使用NCurses,但从根本上来说,它是一个控制台应用程序。

我无法控制UNIX机器,所以只能使用它所安装的机器。它具有Korn外壳。没有Python的期望,等等,所以它必须是Korn shell的答案。

基本要点是SSH到UNIX服务器并每4分钟运行一次应用程序并获取其最终输出。

最初,我是在Paramiko的客户端计算机上使用Python尝试此操作的,虽然确实可以完成工作,但是老实说它非常hacky。

我决定在UNIX服务器上运行Korn脚本,该脚本在完成输出后会简单地创建一个文件。我在这里忽略了解析文件,因为这很容易。我的一般想法是打开SSH,连接,运行Korn脚本,抓取文件并执行任何操作。

现在让我们说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
}

此代码可能完全是错误的处理方式,因此我愿意接受选择。再说一次,在您推荐[COOL LIBRARY HERE]之前,此服务器没有它们,我无法安装它们。仅适用于Korn脚本。

0 个答案:

没有答案