3

我想在 linux 终端中实现命令行功能。我也在 ftp 命令中看到了这一点。

  • 如果我按 Tab,我需要列出命令。
  • 如果我按下控制字符,我需要根据该字符获取该字符,我将执行一些操作。
  • 如果我给出任何命令它应该执行。

为此,我尝试使用非规范模式下的Term::ReadKey 。但是在这里我面临更多的问题,比如如果我按下任何控制字符或箭头,我会得到三个字符。对于向上箭头,我得到 ASCII 27 91 65。

谁能帮我解决这个问题?

4

3 回答 3

2

我认为Term::Readline最好为您服务。

于 2010-03-17T05:21:06.743 回答
2

我得到了一个 Perl 模块来完全解决我的需求。那是Term::ShellUI

感谢您的所有投入。

如果您有任何其他解决方案,我们随时欢迎。

于 2010-03-17T06:18:02.693 回答
2

不幸的是,通用Term::ReadLine接口不包括可定制的完成功能。您必须为此选择一个特定的 readline 实现。

Term::ReadLine::GnuTerm::ReadLine::PerlTerm::ReadLine::Zoid都能够执行自定义补全。Term::ReadLine::Gnu 可能是最好的文档。Term::ReadLine::Perl 几乎没有文档,而且我没有使用 Term::ReadLine::Zoid 的经验。

于 2010-03-17T06:19:09.767 回答