我正在尝试创建一个shell(没有什么严重的只是搞乱)并且想要在原始模式下读取箭头键以避免控制字符被打印到屏幕上,并且实际上能够使用它们返回并编辑我点击进入之前的一行。这可能与termios有关,但有更简单的方法吗?或者使用termios可能很容易吗?它似乎只是一个相当大的主题,必须全面研究。
我正在读取循环中的stdin行并调用fork> execvp带有我从输入字符串创建的参数向量。
答案 0 :(得分:3)
这可能与使用termios有关,但有一种更简单的方法 这样做
到目前为止,最简单的方法是使用readline
库来提供所有内容,而不仅仅是你提到的内容。使shell变得像一个完整的bash(行编辑,命令历史记录)应该相当容易。
答案 1 :(得分:1)
除非你真的想亲自去做,否则我会向你推荐那些为你做这些事情的GNU Readline Library。