Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/10.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
从perl脚本中提取用户名_Perl - Fatal编程技术网

从perl脚本中提取用户名

从perl脚本中提取用户名,perl,Perl,我想在脚本本身中提取用户名,执行一个perl脚本 我正在从perl执行whoamilinux命令,如下所示,它运行得非常好 my $whoami = `whoami`; chomp $whoami; print $whoami; 我的目的是避免从perl脚本调用系统命令。因此,我正在寻找只使用Perl的解决方案。我想知道是否有任何CPAN模块可以提取系统信息 您在这方面的建议将不胜感激 perl-le'print scalar getpwuid$您可能应该查看hash%ENV。它包含有关脚本运

我想在脚本本身中提取用户名,执行一个perl脚本

我正在从perl执行
whoami
linux命令,如下所示,它运行得非常好

my $whoami = `whoami`;
chomp $whoami;
print $whoami;
我的目的是避免从perl脚本调用系统命令。因此,我正在寻找只使用Perl的解决方案。我想知道是否有任何CPAN模块可以提取系统信息


您在这方面的建议将不胜感激

perl-le'print scalar getpwuid$您可能应该查看hash%ENV。它包含有关脚本运行环境的有用信息

perl -le 'print scalar getpwuid $<'
获取用户名的一个示例(在windows中)是:

perl -E "say $ENV{'USERNAME'}"

对于bash,将
USERNAME
替换为
LOGNAME
USER

Perl直接映射到系统
getpw*
函数

这些例程与系统C中的对应例程相同 图书馆。在列表上下文中,来自各种get的返回值 例行程序如下:

($name、$passwd、$uid、$gid、, $quota、$comment、$gcos、$dir、$shell、$expire)=getpw*

--从
perldoc-f getpwuid


使用
getpwuid
$感谢您的回复。但我使用的是LinuxEnv,它给出的错误是env:Undefined variable。