在这里,你可以应用简单的敕令“sleep 60”来测验测验一个例子。
“logout”负责终止“login”,并向屏幕输出产生的任何变更。
译者注:本文经由过程实例简单介绍了ShutIt这个基于Python的主动化框架的应用办法。除了pexpect,我们又多了这个选择。以下是译文。
ShutIt是一个易于应用的基于shell的主动化框架。它对基于python的expect库(pexpect)进行了包装。你可以把它看作是“没有痛点的expect”。它可以经由过程pip进行安装。
Hello World
- $ python example.py
- Password for server1
- Input Secret:
- Password for server2
- Input Secret:
- hostname
- hostname
- one.example.com
- one.example.com:Fnh2pyFj:qkrsmUNs# hostname
- hostname
- two.example.com
- two.example.com:Gl2lldEo:D3FavQjA#
让我们大年夜最简单的例子开端吧。创建一个名为example.py的文件:
- import shutit
- session = shutit.create_session('bash')
- session.send('echo Hello World', echo=True)
运行这个文件:
- python example.py
输出:
- python example.py
- echo "Hello World"
- echo "Hello World"
- Hello World
- Ians-MacBook-Air.local:ORIGIN_ENV:RhuebR2T#
“send”函数的第一个参数是要运行的敕令。“echo”的参数将会输出到终端上。默认情况下,ShutIt是静默的。
登录办事器
如不雅你要上岸一台办事器并履行办事器上的敕令。可以将example.py改为:
- import shutit
- session = shutit.create_session('bash')
- session.login('ssh you@example.com', user='you', password='mypassword')
- session.send('hostname', echo=True)
- session.logout()
法度榜样将登录到这台办事器上,并输出主机名。
- hostname
- hostname
- example.com
推荐阅读
本月19日在北京举办的 LC3 大年夜会 (LinuxCon + ContainerCon + CloudOpen)应当是全球最顶级的开源大年夜会了,而这一为期两天的开源嘉会以前几年在北美、欧洲和日本都举办过,而此次是其初次来到中国。就在同一天>>>详细阅读
本文标题:ShutIt:一个基于Python的shell自动化框架
地址:http://www.17bianji.com/lsqh/35881.html
1/2 1