msoliver
(usa Debian)
Enviado em 12/05/2020 - 20:26h
cadu405 escreveu:
Boa tarde!
Fiz um script para adicionar usuários em meu sistema,porém eles está apresentando um erro .
#!/bin/bash
echo "digite o nome para seu usuario"
read newusr
list=$(grep $newusr /etc/passwd)
if [ $newusr = list ] then
echo $newusr
echo "usuário ja cadastrado"
else
echo "digite o grupo para esse usuario"
read grup
adduser -m -d /home -g $grup $newusr
fi
o erro: EXERCICIO6: 9: EXERCICIO6: Syntax error: "else" unexpected (expecting "then")
Boa noite Cadu,
Segue o seu script corrigido:
#!/bin/bash
echo "digite o nome para seu usuário"
read newusr
list=$(grep -o "^\b${newusr}\b" /etc/passwd)
if [ "$newusr" = "$list" ]; then
echo -e "$newusr\nUsuário já cadastrado"
else
echo "digite o grupo para esse usuário"
read grup
adduser -m -d /home -g $grup $newusr
fi
Opção :
#!/bin/bash
read -p "Digite o nome do usuário: " newuser
if grep -q "^\b${newuser}\b" /etc/passwd;then
echo -e "Usuário: ${newuser}\nJá cadastrado"
else
read -p "Digite o grupo do usuário: [${newuser}]: " grupo
adduser -m -d /home -g $grupo $newuser
fi
Obs.:
Não é necessário criar a var list, e depois fazer o condicional,
Assim como outros "comandos", o "grep", permite o condicional...
Note o Uso de bordas "\bbusca\b" no grep, isso evita "casar" palavras semelhantes"
______________________________________________________________________
Importante: echo -e "\n$(lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p')\n"
Att.: Marcelo Oliver
______________________________________________________________________