python shell交互模式下怎么运行代码_在python中运行交互式shell脚本

我有一个shell脚本,我手动执行如下

它首先打印一些消息,然后在最后要求输入用户名:>/x/y/somescript "a b c"

Please enter the credentials of the XXX administrator account to use...

NOTE: The account provided below must hold the XXXXX role.

Username:

然后在我输入用户名并按enter键之后,它会要求输入密码

^{pr2}$

在输入密码并按ENTER键后,它会显示如下所需的输出。在Following is the list of algorithm(s) available in the system

| Algorithm Name | Algorithm Type | Key Size | Status |

| SHA512withRSA | SIGNATURE_ALGORITHM | - | enabled |

| SHA1withDSA | SIGNATURE_ALGORITHM | - | disabled |

| SHA256withDSA | SIGNATURE_ALGORITHM | - | disabled |

| SHA512withDSA | SIGNATURE_ALGORITHM | - | disabled |

| SHA256withECDSA | SIGNATURE_ALGORITHM | - | enabled |

现在我想用python实现自动化。我认为pexpect也是一个很好的工具。我写了一个小剧本。在#!/usr/bin/env python

import pexpect

localcmd='/x/y/some_script "a b c"'

def localOutput(command):

child = pexpect.spawn (command)

child.expect ('Username: ')

child.sendline ('administrator')

child.expect ('Password: ')

child.sendline ('Testpassw0rd')

return child.before # Print the result of the ls command.

localout=localOutput(localcmd)

print "output from local query: \n "+localout # print out the result

但当我执行脚本时,它总是说:# python final.py

output from local query:

administrator

有谁能告诉我我到底哪里错了吗?在

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值