Linux bash读取输出解释

标签 linux bash shell

我想了解从控制台中的读取命令获得的值。这些输出是某些按键的组合吗?

F2   ^[OQ
F3   ^[OR
F4   ^[OS
ESC  ^[

我的问题是我使用为特定软件编程的特殊 128 键键盘。我需要使用下面的代码将这些“ key ”发送到该软件中。不要对我使用 Linux 读取键盘而在下面的代码中使用 Win 的事实感到困惑。我只是想先在我的 Linux 机器上弄清楚它。

import win32api, win32com.client

shell = win32com.client.Dispatch('WScript.Shell')
shell.AppActivate('Some Application Title')
shell.SendKeys('%fo')    # Alt+F, O
win32api.Sleep(100)

谢谢大家

最佳答案

这些是标准 ANSI 转义序列。 “^[”是 CSI = Control Sequence Introducer(不是电视剧)。

参见http://en.wikipedia.org/wiki/ANSI_escape_sequences或 ANSI 转义序列上的类似来源。

如果您将此类序列发送到可识别它们的设备,则可以产生它们所暗示的效果,例如清除屏幕、改变颜色,或者实际上就像按下了 F1 键一样。但是,您确实需要一个能够处理它们的收件人! (就像 Linux 控制台)一个简单的文件流只会写入字符。

关于Linux bash读取输出解释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3739832/

相关文章:

java - Linux 中的 UTF-8 问题

linux - 如何使用 bash 脚本在日期/时间和另一个日期/时间之间提取日志

linux - shell脚本修改同一目录下多个文件的文件名变量

mysql - 我安装了 MariaDB,它搞砸了 Mysql,我也无法卸载

linux - 需要理解这个sed表达式

bash - 我如何为多行中的所有匹配制作 AWK

python - 将 python 标准输出打印到标准输出

linux - 在 shell 脚本中列出文件

python - 如何在 python 中编写查找和执行命令

java - Linux 上的 Subversion 标签填充自动更新