我的代码看起来像这样:
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
我尝试用 \ 转义 : ,但我得到相同的结果。我错过了什么明显的东西吗?
只是想回答我自己的问题以保持完整性。这是一个版本问题,并记录在最新版本中。
从文档:
在 1.0 版更改: 交换了文件名和文本参数的顺序,以与此模块中的其他函数保持一致。