Bash: проверьте, существует ли пользователь в группе, и добавьте — методы и примеры кода

В Bash есть несколько методов, позволяющих проверить, существует ли пользователь в группе, а затем добавить его, если он не существует:

Метод 1: использование getentи grep

#!/bin/bash
user="username"
group="groupname"
if getent group "$group" | grep -q "\b$user\b"; then
  echo "User $user already exists in group $group."
else
  sudo adduser "$user" "$group"
  echo "User $user added to group $group."
fi

Метод 2: использование команды id

#!/bin/bash
user="username"
group="groupname"
if id -nG "$user" | grep -qw "$group"; then
  echo "User $user already exists in group $group."
else
  sudo usermod -a -G "$group" "$user"
  echo "User $user added to group $group."
fi

Метод 3: использование файла /etc/group

#!/bin/bash
user="username"
group="groupname"
if grep -q "^$group:" /etc/group && grep -q "\b$user\b" /etc/group; then
  echo "User $user already exists in group $group."
else
  sudo usermod -a -G "$group" "$user"
  echo "User $user added to group $group."
fi

Обратите внимание, что в этих примерах предполагается, что у вас есть достаточные права для добавления пользователей в группы (например, с помощью sudo). Настройте переменные userи group, задав нужные значения.