Linux如何保证只有在用户不存在时使用useradd和groupadd这两条指令

在使用centos7的 useradd 和 groupadd 命令时,可能会出现用户已经存在问题, 如何在程序中避免出现系统错误提示信息,如何保证只有在用户不存在时使用这两条指令

你当然可以先查询一下当前系统都有哪些用户名
但是没必要
加个错误捕获
如果抛错误了不要继续执行代码,而是对应的执行另一个逻辑,不就得了

加个判断查看用户是否在/etc/passwd列表中即可:

user="test"
ext=`cat /etc/passwd |grep $user`
if [ -z $ext ];then
  echo "用户不存在,可以添加"
else
  echo "用户存在,不能执行useradd"
  exit
fi

系统命令本来就有提示


(base) [root@master home]# useradd test1
(base) [root@master home]# useradd test1
useradd:用户“test1”已存在

如果你不想看到这个提示,可以在后面加上 2>/dev/null,这样就不会显示错误信息了

(base) [root@master home]# useradd test1  2>/dev/null
(base) [root@master home]#