.bashrc命令脚本中的Term :: ReadKey

Mor*_*sen 4 bash perl cpan module

我在perl中编写一个简单的motd脚本,它解析来自特定网站的消息并将它们显示在终端屏幕的中心.

为了获得终端的宽度,我使用CPAN模块Term :: ReadKey.
现在我用这个脚本调用

command /path/to/script
Run Code Online (Sandbox Code Playgroud)

从我的.bashrc登录和打开终端显示它.

当我通过perl或使用登录时,我的脚本工作正常

source .bashrc
Run Code Online (Sandbox Code Playgroud)

但是在终端的初始打开(这是脚本的实际目的)我收到此错误消息:

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.
Run Code Online (Sandbox Code Playgroud)

脚本的第6行是

use Term::ReadKey;
Run Code Online (Sandbox Code Playgroud)

gle*_*man 10

首先找到该模块的安装位置: 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;
Run Code Online (Sandbox Code Playgroud)