0

Perl スクリプトを使用してユーザーのパスワードを変更できるようにしたいと考えています。私はもう試した:

my $user = "test";
my $pass = "testing";

open(DATA, "| passwd $user") || die "failed";
print DATA $pass;
sleep(1);
print DATA $pass;
close(DATA);

そしてそれは決して通りません。

`echo -e "$pass\n$pass" | も試しました。passwd $user" しかし、パスワード変換失敗エラーが表示されます。

どんな助けでもいただければ幸いです

4

1 に答える 1

0

改行文字がないため、新しいパスワードを完全に受け取ることはないと思います。入力したのにEnterキーを押さなかったようなものです。

Expectは、このようなプロンプトによく使用されると思います。

于 2013-01-11T05:55:54.430 に答える