如何用python 实现一个自己的xshell (终端),可以在Mac 下运行

因为在Mac下找不到自己满意的向xshell这样的工具(可记住密码,同时发送命令到多个节点,可以保存连接列表),我只会python, 想自己写一个,给点启发?
主要不知道怎么绘制那个黑漆漆的框框,还有如何显示命令返回结果到那个黑漆漆的框框里面。

阅读 5.5k
1 个回答

真巧前几天有点类似的需求,但不是写终端,就简单写了下,获取一个命令行可以随便输入命令,并且输入的命令之间不是隔离状态,代码如下 给你点参考,至于写终端,你可能需要加很多东西了,并不是能轻易办到的,建议secureCRT for mac 我就在用表示 还行

import paramiko
import time

ip = "10.211.55.6"
port = 22
username = "root"
password = "redhat"


def recv_str(client_channel, tag_str=None):
    result = client_channel.recv(65535).decode()
    while not result.endswith(tag_str):
        result = result + client_channel.recv(65535).decode()
    return result


client = paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
client.connect(hostname=ip, port=port, username=username, password=password,
               timeout=60)
channel = client.invoke_shell()
channel.send("ping www.baidu.com\n")
time.sleep(2)
channel.send(chr(3))
res = recv_str(channel, "[root@centos-linux ~]# ")
print(res)
client.close()
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题