Perl:如何在Linux中从.txt文件添加用户

时间:2016-02-29 17:34:42

标签: linux perl

我正在创建一个perl程序,它从.txt文件中获取名称和用户名,并将它们作为用户添加到Linux中。

ex .txt文件格式

  

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";

1 个答案:

答案 0 :(得分:2)

你的代码工作还有很长的路要走,而你似乎在猜测你应该写什么。这不是学好编码的好方法

这将print每个命令发送到STDOUT。我希望你能够改变它,以便执行命令而不是打印?

perl -aF, -lne 'print "useradd -m $F[0] -g $F[1]"' users.txt

输出

useradd -m ac -g Chester Arthur