GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So prüfen Sie, ob eine Gruppe vorhanden ist, und fügen sie hinzu, wenn dies nicht der Fall ist, in Linux Shell Script

Der grep Aussage in der Lösung von rups hat einige Fehler:

Z.B. grepping für eine Gruppe admin kann true zurückgeben ("Gruppe existiert"), wenn es eine Gruppe lpadmin gibt .

Reparieren Sie entweder grep -Abfrage

grep -q -E "^admin:" /etc/group

oder verwenden Sie

if [ $(getent group admin) ]; then
  echo "group exists."
else
  echo "group does not exist."
fi

Dieses Skript kann Ihnen helfen:

   read -p "enter group name: " group
   if grep -q $group /etc/group
    then
         echo "group exists"
    else
         echo "group does not exist"
    fi

Grepping /etc/group funktioniert, aber nur auf einem Rechner, auf dem /etc/nsswitch.conf Folgendes hat:

group: files

Das bedeutet, dass nur /etc/group bei der Bestimmung verfügbarer Gruppen herangezogen wird. Verwendung:

getent group <groupname>

Für eine allgemeinere Lösung prüfen Sie den Exit-Status:0 bedeutet "existiert", Nicht-Null bedeutet "existiert nicht". Um beispielsweise zu prüfen, ob die Gruppe „postgres“ existiert, und sie zu erstellen, wenn dies nicht der Fall ist (unter der Annahme, dass die Bash-Shell als Benutzer ausgeführt wird, der neue Gruppen erstellen kann), führen Sie Folgendes aus:

/usr/bin/getent group postgres 2>&1 > /dev/null || /usr/sbin/groupadd postgres

Linux
  1. So fügen Sie einen Benutzer zu einer Gruppe in Linux hinzu oder entfernen ihn

  2. So definieren und verwenden Sie Funktionen in Linux Shell Script

  3. So vergleichen Sie Zahlen und Zeichenfolgen im Linux-Shell-Skript

  4. Benutzer zu Gruppe in Linux hinzufügen, Anleitung (mit Beispielen)

  5. So überprüfen Sie die Betriebssystem- und Linux-Version

So richten Sie ZSH und Oh-my-zsh unter Linux ein

So fügen Sie einen Benutzer zu einer Gruppe in Linux hinzu

So speichern Sie einen Linux-Befehl als Variable im Shell-Skript

So installieren und verwenden Sie Nu Shell unter Linux

So fügen Sie einen Benutzer zu einer Gruppe unter Linux hinzu

So fügen Sie einen Benutzer zu einer Linux-Gruppe hinzu