0

我的代码如下所示:

    run("""echo "%s:x:" """ % (username))
    if not contains('/etc/passwd', '%s:x:' % (username)):
        run("useradd --shell /bin/bash --create-home %s" % (username), pty=True)

在第一次运行时,它可以正常工作并创建用户,但在第二次运行时,我收到用户已经存在的错误。

    [root@vbox1] out: tom:x:
    [root@vbox1] run: useradd --shell /bin/bash --create-home tom
    [root@vbox1] out: useradd: user 'tom' already exists

我尝试用 \ 转义:,但得到相同的结果。我有什么明显的遗漏吗?

4

1 回答 1

1

只是想完整地回答我自己的问题。这是一个版本问题,并记录在最新版本中。

从文档:

在 1.0 版更改: 交换文件名和文本参数的顺序以与此模块中的其他函数保持一致。

于 2012-06-10T18:53:53.060 回答