Me ajude a achar o erro nesse codigo em shell script

1. Me ajude a achar o erro nesse codigo em shell script

kassio Sebastião
kassio123456

(usa Lubuntu)

Enviado em 08/03/2018 - 00:40h

como faço o tratamento de erro desse codigo, acho que o comando cat tem algo errado. Alguem pode me ajudar a achar o erro

#!/bin/bash

echo " 1 - Mudar o endereco IP de uma maquina"
echo " 2 - Mudar o endereco IP de todas as maquinas"
echo " 3 - Sair"
read -p "Opcao: " opcao
nc $ip 5555 > echo "teste.txt" 2> lixo.log
if [ $opc -eq 1 ]
then
read -p "Digite o ip da mquina:" ip
read -p "Digite o novo ip da maquina:" novo
read -p "Digite a Mascara de rede:" rede

echo " ip novo $novo netmask $rede" > teste.txt
nc $velho 5555 < teste.txt 2>erro.log
erro=$(cat erro.log)
[ -n erro ] && echo "ERRO: $ip nao encontrado"

fi


  


2. Re: Me ajude a achar o erro nesse codigo em shell script

Perfil removido
removido

(usa Nenhuma)

Enviado em 09/03/2018 - 21:39h

kassio123456 escreveu:

como faço o tratamento de erro desse codigo, acho que o comando cat tem algo errado. Alguem pode me ajudar a achar o erro


#!/bin/bash

echo " 1 - Mudar o endereco IP de uma maquina"
echo " 2 - Mudar o endereco IP de todas as maquinas"
echo " 3 - Sair"
read -p "Opcao: " opcao
nc $ip 5555 > echo "teste.txt" 2> lixo.log
if [ $opc -eq 1 ]
then
read -p "Digite o ip da mquina:" ip
read -p "Digite o novo ip da maquina:" novo
read -p "Digite a Mascara de rede:" rede

echo " ip novo $novo netmask $rede" > teste.txt
nc $velho 5555 < teste.txt 2>erro.log
erro=$(cat erro.log)
[ -n erro ] && echo "ERRO: $ip nao encontrado"

fi


No primeiro erro, foi declarada a variável opcao, e na comparação foi usada uma variável inexistente.
read -p "Opcao: " opcao
...
if [ $opc -eq 1 ]


No segundo erro, há um echo perdido no meio. A variável $ip também não foi declarada.
nc $ip 5555 > echo "teste.txt" 2> lixo.log 


No terceiro erro, deveria usar um >> para concatenar o arquivo teste.txt.
echo " ip novo $novo netmask $rede" > teste.txt 


No quarto erro, faltou declarar a variável $velho. Redirecionamento invertido, e para evitar que o arquivo teste.txt seja sobrescrito, deve usar >> para concatenar.
nc $velho 5555 < teste.txt 2>erro.log 


No quinto erro, faltou a variável na condição (toda representação de variável deve ser iniciada com um $ antes do nome).
[ -n erro ] && echo "ERRO: $ip nao encontrado" 


--
Talk is cheap. Show me the code - LT
Linux Counter: #596371






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts