Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ssh 使用pexpect向IOS发送多行配置_Ssh_Pexpect_Cisco Ios - Fatal编程技术网

Ssh 使用pexpect向IOS发送多行配置

Ssh 使用pexpect向IOS发送多行配置,ssh,pexpect,cisco-ios,Ssh,Pexpect,Cisco Ios,我正在尝试使用pexpect将长ACL转储到Cisco IOS路由器,ACL内容是一个字符串,其中包含大约100行ACL条目,我使用了以下代码: for aclstr_line in aclstr.split('\n\r'): ssh_session.sendline('%s' % aclstr_line) ssh_session.expect('[(.+)#]') ssh_session.interact() ssh_session.sendline('interface vl

我正在尝试使用pexpect将长ACL转储到Cisco IOS路由器,ACL内容是一个字符串,其中包含大约100行ACL条目,我使用了以下代码:

for aclstr_line in aclstr.split('\n\r'):
   ssh_session.sendline('%s' % aclstr_line)
   ssh_session.expect('[(.+)#]')

ssh_session.interact()

ssh_session.sendline('interface vlan100')
ssh_session.expect('[(.+)#]')
ssh_session.sendline('ip access-group Inbound_ACL in')
ssh_session.expect('[(.+)#]')
上面的前5行代码在ssh_session.interact()之前都能正常工作,但如果我去掉“ssh_session.interact()”,代码就会中断,日志文件显示代码在继续执行rest发送线命令之前没有完成所有ACL项的配置,所有发送线命令似乎都相互混合


原因可能是什么?谢谢,

下一个命令准备就绪时,是否有提示或其他提示<代码>[(.+)#]非常广泛。或者您是想转义其中一些字符,例如,
\[(.+)\]
?谢谢,我怀疑问题与提示相关,我尝试了不同的提示匹配,我要查找的是“\”,这是处于特权模式的Cisco IOS提示符。另一种可能性是:正在拆分的行终止符可能错误-请尝试使用
splitlines()
方法。