如何通过终端Linux向程序提供特定命令?

时间:2017-10-06 19:03:54

标签: python c linux bash shell

我正在寻找一种方法来自动完成我所执行的某些任务的配置,但是,我在从终端向程序发出订单时遇到了一些麻烦。

我实际上每次尝试配置一些路由器时都会给出相同的命令,但是,我正在寻找一种方法来创建一个Shell脚本来为我完成。问题是。我必须访问带有终端的服务器才能这样做,所以我无法像终端那样给出命令。我需要一种在终端内插入命令的方法。

这是我想要自动化的终端 enter image description here

正如你所看到的,我必须做同样的命令,如果Shell脚本身为我做的那样,那就更好了。

最后但并非最不重要的是,有一个我试图做的样本:

#!/usr/bin/env bash
telnet 192.168.255.2 & < enable; show port epon 1/1 registered-link;
show port epon 1/2 registered-link; show port epon 1/3 registered-link;
show port epon 1/4 registered-link; show port epon 2/1 registered-link; 
show port epon 2/2 registered-link; show port epon 2/3 registered-link; 
show port epon 2/4 registered-link; show port epon 3/1 registered-link; 
show port epon 3/2 registered-link; show port epon 3/3 registered-link;
show port epon 3/4 registered-link; show port epon 4/1 registered-link;
show port epon 4/2 registered-link; show port epon 4/3 registered-link;
show port epon 4/4 registered-link; 

&#34; telnet 192.168.255.2&#34;是服务器和oders,是它必须做的命令。

无论如何,非常感谢你。

2 个答案:

答案 0 :(得分:1)

Fabric是您的朋友,专为此类任务而设计。 http://www.fabfile.org/

如果您更喜欢Python 3,可以使用Fabric3。https://pypi.python.org/pypi/Fabric3

答案 1 :(得分:0)

您似乎需要the pexpect module,它专门用于通过类似电传打字道的渠道在远程计算机上运行命令。它使用伪电传类型设备向远程系统呈现几乎作为登录shell的标准用户。您可以编写脚本来扫描特定输出,使用Python生成要远程运行的命令通常很容易。