我正在寻找一种使用Perl将uid(代表系统用户的唯一编号)映射到用户名的方法.
请不要建议使用grep
/ etc/passwd :)
编辑
作为澄清,我并没有寻找一个明确地阅读/ etc/passwd的解决方案.我意识到,任何解决方案最终都会做到这一点,但我正在寻找一个库函数来为我做这件事.
标准函数getpwuid
,就像相同的C函数一样,根据其ID获取用户信息.不需要use
:
my ($name) = getpwuid(1000);
print $name,"\n";
Run Code Online (Sandbox Code Playgroud)
虽然它最终读取/etc/passwd
文件,但使用标准接口对于其他用户来说更加清晰,更不用说它可以为您节省一些按键.