I notice that my netmiko code can't run sh run | i host
which is a legitimate Cisco command.
When I replace sh run
with other command such as sh clo
, or show ip interface brief
, it works perfectly.
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)
Output
user@linux:~$ python3 script.py
^
% Invalid input detected at '^' marker.
^
% Invalid input detected at '^' marker.
user@linux:~$
Desired Output
hostname Router1
hostname Router2
Any idea why this code behave this way?
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…