行包含无效的自动命令“ / bin / bash -l -c” X“” >
X是我试图在交换机上运行的命令。我无法理解为什么会失败,也许有人可以提供解释吗?这是需要在思科方面配置的东西吗?我正在运行12.2的3750交换机上对此进行测试,不确定是否要提供其他详细信息。
#1 楼
Fabric具有一定的执行模型;它假定某些东西(默认情况下为Bash)将在遥控器上运行以执行命令。您可以更改远程命令的内容。您可以在将命令发送到CLI(例如Cisco IOS)之类的命令时,将远程命令更改为单个空格。
有关“ shell”设置,请参见Fabric的环境词典。 br />
#2 楼
因此事实证明,当您从Fabric调用名为shell = True的命令时,隐含了一个参数。为了使事情正常运行,我必须指定一个参数shell = False。因此,例如,这是我正在运行的一条失败的命令。 br />
哪个生产线具有无效的自动命令“ / bin / bash -l -c“ config t””错误。更改您的命令以包含shell = False
def config_t():
run("config t")
进行此更改后,一切对我来说都很顺利。有关更多信息,文档中有一节对此进行了描述。面料文档。