BusyBox 的限制

BusyBox 的限制

我试图在 busybox 上获取 DSR(以获取终端大小),但echo '\x1b[6n'不报告任何内容,它输出\x1b[6n.

答案1

我看到两个问题:

  1. 使echo处理转义序列需要添加该选项-e。这不是 BusyBox shell 的特点,它bash也适用于 和其他实现。
  2. 从中扣除这个问题ANSI 代码应该是\x1b[6n.

此外,抑制结尾换行符可能是个好主意。综上所述,我认为调用应该如下所示:

echo -en "\x1b[6n"

BusyBox 的限制

旧版本的 BusyBox不支持\e\x转义序列echo;在这种情况下\033必须使用。这似乎在 1.23.1 中得到了修复。

确保在配置中设置以下内容:

  • 忙碌盒设置
    • Busybox 库调整
      • 从终端查询光标位置→ 已启用

SSH/PuTTY 限制

SSH吞掉返回的位置。要在远程终端中查看答案,您可以使用

echo -en "\e[6n"; cat

Ctrl + C然后按下。

相关内容