我正在编写一个在Perl中作为shell执行的工具。我希望它有一个历史记录,所以如果你按向上箭头,你会回到上一个命令,就像bash或其他shell一样。我应该怎么做呢?
- 编辑 -
感谢daxim将我指向Term :: ReadLine :: Gnu。我能够让它在我的Linux机器上工作,这正是我想要的。但是,我的主要开发机器正在运行OS X.当我尝试安装模块时,我收到此错误:
~/Downloads/Term-ReadLine-Gnu-1.19 > perl Makefile.PL
Found `/usr/lib/libtermcap.dylib'.
gcc-4.2 -arch i386 -arch ppc -g -pipe -fno-common -DPERL_DARWIN -fno-strict-aliasing -I/usr/local/include - DHAVE_STRING_H rlver.c -o rlver -arch i386 -arch ppc -L/usr/local/lib -lreadline -ltermcap
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
The libreadline you are using is the libedit library. Use the GNU Readline Library.
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
我目前正在通过谷歌搜索结果来解决这个问题,但是如果有人之前已经看过这个并且有指针,那将非常感激。谢谢!
答案 0 :(得分:3)
Term::ReadLine::Gnu是最好的模块,Term::ReadLine::Perl后备。
答案 1 :(得分:1)
Term::ReadLine与各种readline包的接口,因此将支持您描述的历史记录。