diff options
Diffstat (limited to 'add-group')
-rwxr-xr-x | add-group | 28 |
1 files changed, 15 insertions, 13 deletions
@@ -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 |