在我的 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 处停止,我可以继续运行它吗?
最佳答案
问题是 useradd
命令返回错误代码。
您可以按照说明在命令前添加破折号 here (实际上,我发现这是一个重复的问题):
-useradd --system --home-dir /var/lib/redis redis
或者,使该命令始终返回成功代码的解决方法是将其与 true
组合,如下所示:
useradd --system --home-dir /var/lib/redis redis || true
关于bash - Makefile 任务因错误而停止,我可以继续运行它吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9512988/