Answers:
尝试这个:
useradd {user} || echo "User already exists."
甚至这个:
useradd {user} || true
除非只有少数几个系统,否则您会问错问题。答案是根本不运行useradd,而是将这项工作留给诸如puppet或Chef的配置管理解决方案。这将使您的用户定义集中化,并防止您运行循环并与root用户一起使用ssh来配置系统。您将始终使系统处于已知配置状态。
有关puppet的文档,请访问http://docs.puppetlabs.com。
以in为例:
user { "bob" :
password => "$1$yv3n066X$Vpb05Ac/fHTicNdT9T5vz1", # generated with `openssl passwd -1`
ensure => present, # ensure => absent to remove
managehome => true,
}
如果用户已经存在,则useradd不会再次添加该用户,这是为了确保uid号和uid登录名是唯一的。如果您打算分批运行,请确保使用的uid是唯一的;useradd会抱怨条目有问题,您需要捕获错误/ stderr,以查看哪些用户帐户在进入帐户系统时遇到问题(/ etc / passwd,group,shadow)。
adduser
通常在Debian / Ubuntu系统上是首选。