从文本文件创建用户组时出错

时间:2021-01-21 18:59:27

标签: bash suse

我的脚本有问题:

#!/bin/bash
# El argumento tipo corresponde a usuario o grupo.
# El argumento accion corresponde a crear o eliminar cualquiera de los anteriores.
tipo=$1
accion=$2
if [ $tipo = "usuario" ]; then
    while IFS=, read -r nombre usuario grupo
    do
        if [ $accion = "crear" ]; then
            useradd "$usuario" -c "$nombre" -m -G "$grupo" 
        else
            sudo userdel "$usuario" -r -f
        fi
    done < /tmp/usuarios_fles.txt
    echo "----- Usuarios procesados ----"
    exit 0
else
    while IFS= read -r grupo
    do
        if [ $accion = "crear" ]; then
            groupadd "$grupo"
        else
            groupdel "$grupo" -f
        fi
    done < /tmp/grupos_fles.txt
    exit 0
    echo "----- Grupos procesados ----"
fi

文件:

/tmp/groups_fles.txt

它只包含这些文本字符串:

adminuser
readwriteuser
readuser

它在 Suse 11.3 上给了我以下错误,我在 Fedora 33 上测试,它没有显示错误:

'.oupadd: Invalid group name `adminuser
'.oupadd: Invalid group name `readwriteuser
'.oupadd: Invalid group name `readuser

我不知道还能做什么来让它运行

最好的问候...

弗兰克

1 个答案:

答案 0 :(得分:0)

我是这样解决的:

#!/bin/bash

# El argumento tipo corresponde a usuario o grupo.
# El argumento accion corresponde a crear o eliminar cualquiera de los 
  anteriores.

tipo=$1
accion=$2
archivogrupo="/tmp/grupos.txt"
archivousuario="/tmp/usuarios_flex.txt"

if [ $tipo = "usuario" ]; then
    for linea in $(cat $archivousuario | tr " " _ | tr -d '\r')
    do
        nombre=`echo $linea|cut -d, -f1`
        usuario=`echo $linea|cut -d, -f2`
        grupo=`echo $linea|cut -d, -f3`

        if [ $accion = "crear" ]; then
            useradd $usuario -c $nombre -m -G $grupo
        else
            userdel $usuario -r -f
        fi
    done
        echo "----- Usuarios procesados ----"
    exit 0

elif [ $tipo = "grupo" ]; then
    for grupo in $(cat $archivogrupo)
    do
        if [ $accion = "crear" ]; then
            groupadd $grupo
        else
            groupdel $grupo
        fi
    done
    exit 0
    echo "----- Grupos procesados ----"
fi
相关问题