我的代码如下:
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
我尝试使用\来逃避:但是我得到了相同的结果。有什么明显的东西我不见了吗?
答案 0 :(得分:1)
只想回答我自己的完整问题。 这是一个版本问题,并记录了最新版本。
来自文档:
在1.0版中更改:将文件名和文本参数的顺序交换为与此模块中的其他函数一致。