小编boz*_*noz的帖子

知道为什么 paramiko 发送 \x07 而不是 \t 到远程服务器吗?

在过去的几天里,我一直在努力弄清楚为什么 paramiko 发送 \x07 而不是 tab 到远程会话。我使用 paramikos invoke_shell 因为我需要运行几个互连的命令。除了这部分之外,一切正常:

check_export = f'echo -e \"this\tis\tjust a test\" > /tmp/export'
Run Code Online (Sandbox Code Playgroud)

这是简化版本,唯一重要的部分是我需要用制表符分隔单词(仅在某些地方)。print 返回正确的形式:

echo -e "this   is      just a test" > /tmp/export
Run Code Online (Sandbox Code Playgroud)

但是当我从 paramiko 会话检查 recv() 时,我看到了这个:

b'echo -e "this\x07is\x07just a test" > /tmp/export\r\n[root@server~]# '
Run Code Online (Sandbox Code Playgroud)

因此,文件 /tmp/export 不包含制表符,并且前 3 个单词被挤在一起。我尝试提供文字选项卡,\t,U00000009,但没有任何效果。
我还尝试对字符串执行 .encode() ,但出现错误,指出需要字节,而不是字符串。

我在这里缺少什么?我希望得到一些意见。谢谢

python paramiko

0
推荐指数
1
解决办法
340
查看次数

标签 统计

paramiko ×1

python ×1