Я заметил, что мой код netmiko не может работать sh run | i host
, который является допустимой командой Cisco.
Когда я заменяю sh run
другой командой, такой как sh clo
или show 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
Есть идеи, почему этот код ведет себя так?