Мой код выглядит следующим образом:питона fabric.contrib.files.contains возвращает значение False, если текст присутствует в файле
run("""echo "%s:x:" """ % (username))
if not contains('/etc/passwd', '%s:x:' % (username)):
run("useradd --shell /bin/bash --create-home %s" % (username), pty=True)
При первом запуске, он отлично работает и создать пользователя, а на втором прогоне я получить сообщение о том, что пользователь уже существует.
[[email protected]] out: tom:x:
[[email protected]] run: useradd --shell /bin/bash --create-home tom
[[email protected]] out: useradd: user 'tom' already exists
Я попытался убежать: с \, но я получаю те же результаты. Есть ли что-то очевидное, что мне не хватает?