Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 类shell命令行交互应用程序框架_Linux_Shell - Fatal编程技术网

Linux 类shell命令行交互应用程序框架

Linux 类shell命令行交互应用程序框架,linux,shell,Linux,Shell,我想为Linux编写自己的交互式shell 我自己的有限命令集 无需执行外部二进制文件 这并不难做到,但我想做一些更人性化的事情 制表符自动完成 交互式行编辑 最后命令的历史记录 是否有一些库/框架/最小shell可用于此目的? 所以我不需要自己写所有的东西 首选许可证是某种许可证(MIT、BSD、Apache等) 首选语言是Python、C、C++、Javascript或SH < P>如果您需要控制(即后台),可以查看GLYBC手册。 < Python,标准库 CMD 模块如下: 对

我想为Linux编写自己的交互式shell

  • 我自己的有限命令集
  • 无需执行外部二进制文件
这并不难做到,但我想做一些更人性化的事情

  • 制表符自动完成
  • 交互式行编辑
  • 最后命令的历史记录
是否有一些库/框架/最小shell可用于此目的? 所以我不需要自己写所有的东西

首选许可证是某种许可证(MIT、BSD、Apache等)


首选语言是Python、C、C++、Javascript或SH

< P>如果您需要控制(即后台),可以查看GLYBC手册。

< Python,标准库<代码> CMD 模块如下:

对于C,有几个选项可用于管理交互式编辑、历史记录和制表符完成:

  • ,由bash本身使用,但GPL许可
  • ,一种广泛使用的BSD替代品
  • ,一个新的选择


顺便说一下,这个问题显然是离题的;我希望它会关闭。

因为OP指定“不需要执行外部二进制文件”,所以显然不需要支持在后台执行它们。尽管如此,这是一个有趣的链接。他还可以查看bash的源代码:。一个不需要执行外部二进制文件的shell是非常有限的,因为它缺乏任何有用的功能(或者它可以自己提供它,但这不会使它成为一个shell(想象一下所有二进制文件,如mkdir、cd、ld、ls、cat、touch、file等,放在一起))。在上下文中阅读这个问题,我们的目标显然不是你所想的shell,而是一个非shell软件的交互式命令行/REPL。有人可能会说这是一个复制品——任何答案在这里都会有一个可接受的答案——尽管现代网站规则不再允许这个问题。如果我知道readline,我会自己用谷歌搜索。当然——人们不知道正确的关键词,这就是为什么我们想要好的重复问题(也就是说,重复的问题以一种不知道关键词的人会问的方式问,并且以一种与以前在网站上问同一问题的任何其他方式明显不同的方式问)--我们将它们标记为重复,然后它们提供了指向规范答案的指针/路标,从而为知识库增加了价值。无论如何,谢谢。我只是不知道从哪里开始,从哪里问。这帮了大忙。