在我的makefile中有一个同步配置文件的任务
redis:
mkdir -p /var/lib/redis
mkdir -p /var/log/redis
useradd --system --home-dir /var/lib/redis redis
chown redis.redis /var/lib/redis
chown redis.redis /var/log/redis
cp ./scripts/redis-server.d.conf /etc/init/redis-server.conf
cp ./scripts/redis.conf /etc/redis.conf
restart redis
但是当我第二次运行的时候:
useradd --system --home-dir /var/lib/redis redis
useradd: user 'redis' already exists
如你所见,它在useradd上停止了,我可以继续运行它吗?
发布于 2012-03-01 16:55:50
问题是useradd
命令返回了一个错误代码。
你可以在命令前面加上一个破折号,就像here解释的那样(实际上,我发现这是一个重复的问题):
-useradd --system --home-dir /var/lib/redis redis
或者,使该命令始终返回成功代码的解决方法是将其与true
结合使用,如下所示:
useradd --system --home-dir /var/lib/redis redis || true
https://stackoverflow.com/questions/9512988
复制相似问题