相关疑难解决方法(0)

为什么我不能从键盘发送转义序列,但可以从另一个 tty 发送?

我试图通过执行不同的技巧来了解终端的工作方式,例如从一个 tty 写入另一个 tty,tty1从更改设置tty2等。此外,我试图通过直接从键盘发送转义序列来更改颜色。也就是说,不是通过echo -e '\e[0;31m'命令,而是通过直接键盘输入。它不起作用。

我执行以下步骤:

  1. 打开tty1tty2
  2. tty2bash进入睡眠模式,通过sleep 10m。输入单词“一”。

在此处输入图片说明

  1. tty1,做echo -n ^[[0;31m > /dev/tty2。第一个字符^[是这样输入的Ctrl+v Esc
  2. 返回到tty2,输入单词“二”。是 - 颜色已被另一个 tty 的命令更改为红色。

在此处输入图片说明

  1. 重复步骤 3,4,但使用绿色和单词“三”

在此处输入图片说明

  1. 最后,我想没有另一个发送转义序列tty,而是直接用电脑键盘-通过打字^[[0;37mtty2。我以同样的方式做所有事情 - EscCtrl+v不需要,因为 readline 正在睡觉),然后[0;37m,但是得到这个:

在此处输入图片说明

问题: 为什么会这样?所有字符都相同,终端状态相同,但在一种情况下终端会获得转义序列,而在另一种情况下则不会。


编辑

这个问题在这里得到了回答:回声转义序列不会在 Linux tty 中解释

terminal tty escape-characters

3
推荐指数
1
解决办法
3227
查看次数

标签 统计

escape-characters ×1

terminal ×1

tty ×1