Autor Tópico: Dúvida de iniciante  (Lida 2587 vezes)

Offline rafael###

  • Usuário Ubuntu
  • *
  • Mensagens: 154
    • Ver perfil
Dúvida de iniciante
« Online: 15 de Agosto de 2006, 17:03 »
Galera o q tem de errado nisso:

#!/bin/bash
clear
echo -e "###########################################\nCadastro de pessoas feito com shell script\n###########################################"
echo "Qual seu nome?"
read NOME
echo "Qual seu sobrenome?"
read SOBRENOME
cat gravado.rafa | grep $NOME
if [$? -ne 0]
then
echo "Qual sua distro?"
read DISTRO
echo -e "************************">>gravado.rafa
echo -e "Nome : $NOME $SOBRENOME\nDistro : $DISTRO">>gravado.rafa
echo -e "************************\n">>gravado.rafa
clear
echo -e "Dados gravados:\n$NOME $SOBRENOME gosta de $DISTRO"
read
clear
else
cat gravado.rafa | grep $NOME
echo "Qual sua distro?"
read DISTRO
echo -e "************************">>gravado.rafa
echo -e "Nome : $NOME $SOBRENOME\nDistro : $DISTRO">>gravado.rafa
echo -e "************************\n">>gravado.rafa
clear
echo -e "Dados gravados:\n$NOME $SOBRENOME gosta de $DISTRO"
read
clear
else
echo -e "\n*******************\nNome ja cadastrado no arquivo gravado.rafa\n******************"
read
fi



GNU/Linux e SL um novo estilo de vida!!!!!!!!!!

Offline rafael###

  • Usuário Ubuntu
  • *
  • Mensagens: 154
    • Ver perfil
Re: Dúvida de iniciante
« Resposta #1 Online: 15 de Agosto de 2006, 17:05 »
Fico grato por quem ajudar!!
Vlw



GNU/Linux e SL um novo estilo de vida!!!!!!!!!!

Offline Lamego

  • Usuário Ubuntu
  • *
  • Mensagens: 1.943
    • Ver perfil
Re: Dúvida de iniciante
« Resposta #2 Online: 15 de Agosto de 2006, 17:09 »
rafael, que tal indicar qual é o erro/problema que você tem quando corre o script ?
João Luís Marques Pinto
Mais programs e jogos para o Ubuntu

Offline rafael###

  • Usuário Ubuntu
  • *
  • Mensagens: 154
    • Ver perfil
Re: Dúvida de iniciante
« Resposta #3 Online: 15 de Agosto de 2006, 17:19 »
./oi: line 31: syntax error near unexpected token `else'
./oi: line 31: `else'

Ele encrenca no else agora naum sei o q é!

Flw!



GNU/Linux e SL um novo estilo de vida!!!!!!!!!!

Offline Lamego

  • Usuário Ubuntu
  • *
  • Mensagens: 1.943
    • Ver perfil
Re: Dúvida de iniciante
« Resposta #4 Online: 15 de Agosto de 2006, 17:20 »
Por valor cola o script e depois utiliza a opção de marcar codigo "#" do forum, como está actualmente não se consegue perceber o encadeamento dos ifs.
João Luís Marques Pinto
Mais programs e jogos para o Ubuntu

Offline rafael###

  • Usuário Ubuntu
  • *
  • Mensagens: 154
    • Ver perfil
Re: Dúvida de iniciante
« Resposta #5 Online: 15 de Agosto de 2006, 17:37 »
Vou melhorar e descobrir o q quero logo blz?

se eu fizer isso:

Código: [Selecionar]
#!/bin/bash
read N
if [$N -ne 0]
then
  echo "Número = a 0"
else
  echo "Número <> de 0"
fi

isso ira retornar isso:

Código: [Selecionar]
17:33:48|root|#root# ./oi
1
./oi: line 3: [1: command not found
Número <> de 0
17:33:52|root|#root#

Ele sempre dará um erro e jogará o comando descrito no else!
Agora eu queria saber o porque desse erro?
Esse é o erro do mesmo script citado acima o de cadastro!




GNU/Linux e SL um novo estilo de vida!!!!!!!!!!

Offline Lamego

  • Usuário Ubuntu
  • *
  • Mensagens: 1.943
    • Ver perfil
Re: Dúvida de iniciante
« Resposta #6 Online: 15 de Agosto de 2006, 18:18 »
rafel,
está faltano espaços no seu if, o operador [ ] tem que ter espaços.
Aqui vai o codigo corrigido.
Código: [Selecionar]
#!/bin/bash
read N
if [ $N -ne 0 ]
then
  echo "Número = a 0"
else
  echo "Número <> de 0"
fi

Mas ainda tem outro problema no seu codigo, se voce der enter sem numero vai dar erro.
Tem que utilizar o operador para verificar se a string foi fazia para resolver isso...
João Luís Marques Pinto
Mais programs e jogos para o Ubuntu

Offline rafael###

  • Usuário Ubuntu
  • *
  • Mensagens: 154
    • Ver perfil
Re: Dúvida de iniciante
« Resposta #7 Online: 15 de Agosto de 2006, 19:44 »
Puts cara nem acredito tão fácil assim !!!!

Vlw me ajudou mt!!!!

To aprendendo shell agora sou mt iniciante no assunto desculpa te amolar com dúvidas bestas!!!

Vlw!
T mais!



GNU/Linux e SL um novo estilo de vida!!!!!!!!!!

Offline nightmare13

  • Usuário Ubuntu
  • *
  • Mensagens: 1
    • Ver perfil
Re: Dúvida de iniciante
« Resposta #8 Online: 20 de Novembro de 2009, 20:08 »
será k m podem dar uma ajudinha??...
eu sou iniciado no bash e tenho de fazer uma calculadora numerica
uma mas suas funçoes é calcular o sin

#!/bin/bash
echo "digite o ângulo"
read n4
echo "resultado:"
echo "sin($n4)" |bc -l

ja tentei muitas vezes mas n consigo

Offline fpissarra

  • Usuário Ubuntu
  • *
  • Mensagens: 246
    • Ver perfil
    • Lost in the e-Jungle
Re: Dúvida de iniciante
« Resposta #9 Online: 22 de Novembro de 2009, 16:39 »
2 'else's no mesmo if?