Comparação de String [RESOLVIDO]

1. Comparação de String [RESOLVIDO]

Victor Pilotto
victor.p

(usa Ubuntu)

Enviado em 02/06/2011 - 16:35h

Estou com um problema nessa parte do script:

#Verificando se o usuario do samba já existe ou não
echo "O usuario que ira utilizar o samba já existe, digite s ou n"
read usuario

if [ "$usuario" = "s" ]
then
echo "Digite o login do usuario"
read usuario_smb
echo "Defina uma senha para o samba"
smbpasswd -a $usuario_smb
else
echo "Digite o login do usuario a ser criado"
read usuario_smb
adduser -g -m $usuario_smb
echo "Defina uma senha para o usuario"
passwd $usuario_smb
Echo "Agora defina uma senha para o samba"
smbpasswd -a $usuario_smb

Quando você escolhe a opção 's' ou 'n', parace esse erro:

O usuario que ira utilizar o samba já existe, digite s ou n
s
./conf-samba.sh: linha 56: erro de sintaxe: fim prematuro do arquivo

O que pode ser, já tentei varias maneiras de fazer essa comparação, mais nenhum deu certo, alguma sugestão ?


  


2. Re: Comparação de String [RESOLVIDO]

Mauricio Souza Klein
Hebang

(usa Arch Linux)

Enviado em 02/06/2011 - 16:43h

Olá!

1) Falta um ";" depois do fecha colchetes no "if";
2) Falta a cláusula "fi" no final do "if";

Tenta essas correções e, se não funcionar, posta o erro ae


3. Re: Comparação de String [RESOLVIDO]

Renato Carneiro Pacheco
renato_pacheco

(usa Debian)

Enviado em 02/06/2011 - 16:46h

Outro erro q vi foi no comando abaixo:

adduser -g -m $usuario_smb

O certo seria:

useradd -g $nome_do_grupo -m $usuario_smb

Não sei se isso é o problema. Acho q o Hebang tá certo.


4. Re: Comparação de String [RESOLVIDO]

Victor Pilotto
victor.p

(usa Ubuntu)

Enviado em 02/06/2011 - 17:05h

Obrigado aos dois, as suas respostas me ajudaram

Só que não precisei colocar o ; depois do if
Isso pode ocasionar algum erro ?


5. Re: Comparação de String [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 02/06/2011 - 22:39h

é faltou o if, mas, segue uma pequena sugestão...

function _definirSenha()
{
#
}

function _criarUsuario()
{
#
}

read -p 'O usuario que ira utilizar o samba já existe? [S ou N] ' -n 1 USUARIO

case $USUARIO in
s) _definirSenha;;
*) _criarUsuario;;
esac

Assim o código ficará bem legivel...


6. Re: Comparação de String [RESOLVIDO]

Mauricio Souza Klein
Hebang

(usa Arch Linux)

Enviado em 02/06/2011 - 22:43h

A princípio a ausencia do ";" não causa problema. Apenas tenho o costume dele para destacar o final do comando, só isso.

O mesmo vale para while, for, case, etc...






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts