在.bashrc命令脚本中使用Term::ReadKey

4

我正在使用Perl编写一个简单的motd脚本,它可以解析特定网站的消息,并将它们显示在终端屏幕中央。

为了获取终端的宽度,我使用了CPAN模块Term::ReadKey。
现在,我正在使用以下命令运行此脚本:

command /path/to/script

我希望你能够将我的.bashrc文件中的内容翻译成中文,并在登录和打开终端时显示它。

当我通过perl或使用命令行登录时,我的脚本可以正常运行。

source .bashrc

但是在打开终端时(这是脚本的实际目的),我收到以下错误消息:

Can't locate Term/ReadKey.pm in @INC (you may need to install the Term::ReadKey module) (@INC contains: /usr/lib/perl5/site_perl /usr/share/perl5/site_perl /usr/lib/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib/perl5/core_perl /usr/share/perl5/core_perl .) at /path/to/perl-motd.pl line 6.
BEGIN failed--compilation aborted at /path/to/perl-motd.pl line 6.

这个脚本的第6行是

use Term::ReadKey;
1个回答

12

首先要找到该模块的安装位置:locate Term/ReadKey.pm

如果没有找到,你需要安装它(可能需要sudo权限):cpan Term::ReadKey

如果已经安装,则需要告诉Perl它的位置:

use lib '/path/to';   # assuming it's installed as "/path/to/Term/ReadKey.pm"
use Term::ReadKey;

谢谢 - 它起作用了!我猜它没有被找到是因为我的Perl路径导出在我的.bashrc的末尾 - 简单 :) - Moritz Petersen

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接