-1

我注意到我的 netmiko 代码无法运行sh run | i host,这是一个合法的 Cisco 命令。

当我用, 或sh run等其他命令替换时,它可以完美运行。sh closhow ip interface brief

from netmiko import ConnectHandler

R1 = {
    'device_type': 'cisco_ios',
    'ip': 'Router1',
    'username': 'u',
    'password': 'p'
}

R2 = {
    'device_type': 'cisco_ios',
    'ip': 'Router2',
    'username': 'u',
    'password': 'p'
}

all_devices = [R1, R2]

for device in all_devices:
    connect = ConnectHandler(**device)
    output = connect.send_command('sh run | i host')
    print(output)

输出

user@linux:~$ python3 script.py 
^
% Invalid input detected at '^' marker.

^
% Invalid input detected at '^' marker.

user@linux:~$ 

期望的输出

hostname Router1
hostname Router2

知道为什么这段代码会这样吗?

4

1 回答 1

0

sh runshow running-config;的缩写 这是一个特权模式命令(enable首先需要),您正试图在非特权模式下发出它。

于 2020-04-15T06:44:13.100 回答