0

我正在运行一个脚本,它登录到服务器然后执行命令“passwd -n 0 -x 99999 -i -1 debug”以消除调试用户的老化。如果用户调试不存在,那么我想创建用户调试,更改密码,然后执行上述命令进行老化。

我能怎么做?

问候,瓦西斯塔

4

3 回答 3

1

来自perlfunc(1)

          系统列表
               [...]
               返回值是返回的程序的退出状态
               通过“等待”电话。要获得实际的退出值,请右移
               八点(见下文)。

所以:

my $ret = system(qw/passwd -n 0 -x 99999 -i -1 debug/);
if ($ret != 0) {
  # failure handling code here
}
于 2009-07-29T06:50:44.533 回答
0

使用傀儡

如果你真的坚持要手动做,使用getent passwd debug来检查用户是否存在:

if [ $(getent passwd debug | wc -l ) = 0 ]; then
    adduser debug
fi
于 2009-07-29T06:48:14.770 回答
0

我建议使用Expect 之类的东西。它为您处理交互性。您可以登录服务器、执行命令、检查输出、发送更多输入等等。如果您正在进行大量远程服务器管理,那么它是一个非常方便的工具。Perl Review第 4.2 期(2008 年春季)中甚至有一篇关于它的文章

于 2009-07-29T18:15:14.720 回答