在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/Python/ 如何用python 實現(xiàn)一個自己的xshell (終端),可以在Mac 下運(yùn)行

如何用python 實現(xiàn)一個自己的xshell (終端),可以在Mac 下運(yùn)行

因為在Mac下找不到自己滿意的向xshell這樣的工具(可記住密碼,同時發(fā)送命令到多個節(jié)點,可以保存連接列表),我只會python, 想自己寫一個,給點啟發(fā)?
主要不知道怎么繪制那個黑漆漆的框框,還有如何顯示命令返回結(jié)果到那個黑漆漆的框框里面。

回答
編輯回答
野橘

真巧前幾天有點類似的需求,但不是寫終端,就簡單寫了下,獲取一個命令行可以隨便輸入命令,并且輸入的命令之間不是隔離狀態(tài),代碼如下 給你點參考,至于寫終端,你可能需要加很多東西了,并不是能輕易辦到的,建議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()
2017年6月17日 03:36