我正在制作一个 Perl 程序,它从 .txt 文件中获取姓名和用户名,并将它们添加为 Linux 中的用户。
.txt 文件格式的 ex
ac,Chester Arthur
这是我写的代码。
#!/usr/bin/perl
use strict;
use warnings;
if (@ARGV != 2) {
exit;
};
my $infile = $ARGV[0];
open (FHIN, $infile) or die "Can't open input file.";
chomp (my @lines = <FHIN>);
my %users;
while (my $line = <FHIN>)
{
next if $line =~ /^[A-Z]/g;
chomp($line);
my ($username, $fullname)
= split /\,/, $line;
$users{$username} = $fullname;
}
close(FHIN);
foreach $username(key %users)
{
system("useradd -m $username -g groupname");
}
my $errorfile = $ARGV[1];
open(STDERR, '>', '$errorfile') or die "Can't open log";
最佳答案
距离让代码正常工作还有很长的路要走,而且您似乎在猜测应该写什么。这不是学习良好编码的好方法
这会将每个命令打印
到STDOUT。我希望您能够更改它,以便执行命令而不是打印命令?
perl -aF, -lne 'print "useradd -m $F[0] -g $F[1]"' users.txt
输出
useradd -m ac -g Chester Arthur
关于linux - Perl:如何在 Linux 中从 .txt 文件添加用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35705807/