我正试图创建一个shell(没什么大不了的,只是胡闹),并想在raw模式下读取箭头键,以避免控制字符被打印到屏幕上,实际上可以在我按enter之前使用它们返回并编辑一行。可能与termios有关,但有没有更简单的方法?或者说,使用termios很容易吗?这似乎是一个相当大的课题,必须全面研究。
我在循环中读取stdin中的行,并使用从输入字符串创建的参数向量调用fork>execvp。
最佳答案
可能与termios有关,但有没有更简单的方法
做这件事
到目前为止,最简单的方法是使用readline
库,它提供了您所提到的一切和更多内容。使shell的行为像一个完整的bash(行编辑、命令历史)应该相当容易,而且相对容易。
关于c - 在原始模式下解释箭头键(posix),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9654231/