我正在尝试创建一个通过minicom从另一台计算机连接到一台计算机的函数。连接到minicom后,应按Enter键才能将命令发送到minicom连接的计算机。我的python代码如下:
ssh = paramiko.SSHClient()
ssh.load_system_host_keys()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(self.serialHost, username=self.username, password=self.password)
shell = ssh.invoke_shell()
shell.send('minicom free -o')
shell.send('\u000d')
ssh.close()
有人可以告诉我如何正确发送回车键吗?
请您参考如下方法:
通常,当尝试在paramiko中执行命令时,不必调用shell,而只需调用ssh.exec_command(...)即可。如果要执行的命令取决于启动Shell会给您的环境,那么您必须显式调用invoke_shell()方法。
在paramiko中使用invoke_shell()时,必须发送特定shell期望的行终止符。如果要切换到的计算机的默认 shell 为bash,则必须在每个命令后发送换行符(即'\n')。例如:
shell.send('ls\n')
代替
shell.send('ls')
如果您要连接到旧版Windows计算机,则需要发送回车符和换行符(即
'\r\n')以处理命令。




