【发布时间】:2013-06-30 04:32:51
【问题描述】:
我正在为一个特殊设备制作一个 SSH 客户端,它的键盘上没有全键,我的问题是 Esc、Alt、Ctrl 和箭头键是如何在发送到 shell 的字符串中编码的?只是'\033'吗?
我知道 Enter 键的行为方式,它给出了一个 ^M,来自here
但是当我按下 Ctrl+v 然后 Ctrl 什么都没有出现,当我按下 Ctrl+v 然后 Ctrl+c 在终端我得到: ^C ,所以 Ctrl 只是 ^ ?
但是 alt
我发现了更多:
左 ^[[D
右 ^[[C
上 ^[[A
向下 ^[[B
我可以把这些命令写成下面的command 到 libssh:
rc = libssh2_channel_write(self.channel, [command UTF8String], strlen([command UTF8String])))
问题是我从 ssh 得到以下响应:zsh: 在我的 mac 上的 bash 和我的 SSH 程序中替换失败:
-bash: :s^[^C: 替换失败
【问题讨论】:
-
取决于终端。
-
Libssh2 通过 shell 连接到 linux
标签: shell ssh libssh2 ansi-escape