bash - 通过标准输入的箭头键

标签 bash stdin tty pty

我正在尝试通过标准输入向 bash 发送箭头键:

猫 |/斌/庆典

然后我输入“echo hi”=>“hi”出现在控制台上(当然没有引号) 然后我向上按箭头键=> ^[[出现找不到命令

是否可以通过标准输入向程序发送方向键?

我问的原因是:我想从另一个程序控制 bash。我想将箭头键发送到 bash

最佳答案

你真正应该做的是创建一个伪 tty 设备(使用 openpty() 或类似的),在那个 PTY 上启动 bash,然后发送你的击键通过那个 PTY 设备。参见 the section on “Pseudo-Terminals”在 GNU C 库手册中。

关于bash - 通过标准输入的箭头键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1805840/

相关文章:

c++ - AT^SYSINFO 和 C++ 终端程序

linux - 即使终端位于脚本本身的当前目录,Bash 终端也不允许使用脚本

C 编程给出\0 作为参数

linux - 将 kafka 代理 ID(zookeeper-shell.sh 结果)保存到 bash 脚本中的变量

assembly - 无法在 NASM 中打印数字

go - 从后台 go 进程读取 stdin 导致 EOF 错误

linux - 在查找应用程序中保留 exec 上的目录结构

c - 从标准输入段错误中获取输入

macos - 在 Mac OSX 中使用符号链接(symbolic link)管理串行端口名称

linux - 捕获到/dev/tty 的直接重定向