From d7e965af2545b4a3783b652d15fb74b4abca662b Mon Sep 17 00:00:00 2001 From: Guillaume Rousse Date: Sun, 29 Mar 2009 17:54:26 +0000 Subject: only add user or group if not already existing --- add-group | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) (limited to 'add-group') diff --git a/add-group b/add-group index 2867c90..ea9e920 100755 --- a/add-group +++ b/add-group @@ -20,21 +20,23 @@ num=$2 # number of packages installed name=$3 # name of the group users=$4 # users to add to this group -/usr/sbin/groupadd -r $name > /dev/null +if ! getent group $name /dev/null 2>&1; then + /usr/sbin/groupadd -r $name > /dev/null -if [ -n "$users" ]; then - SAVED_IFS="$IFS" - export IFS="$IFS", - set $users - IFS="$SAVED_IFS" + if [ -n "$users" ]; then + SAVED_IFS="$IFS" + export IFS="$IFS", + set $users + IFS="$SAVED_IFS" - for u in $*; do - old=`egrep "[:,]$u(,|$)" /etc/group | cut -d : -f 1 | xargs echo` - if [ -n "$old" ]; then - old=`echo ",$old" | sed 's/ /,/g'` - fi - /usr/sbin/usermod -G $name$old $u > /dev/null - done + for u in $*; do + old=`egrep "[:,]$u(,|$)" /etc/group | cut -d : -f 1 | xargs echo` + if [ -n "$old" ]; then + old=`echo ",$old" | sed 's/ /,/g'` + fi + /usr/sbin/usermod -G $name$old $u > /dev/null + done + fi fi exit 0 -- cgit v1.2.1