shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: out of string space


From: Evaldo
Subject: Re: out of string space
Date: Thu, 30 Jan 2014 10:24:40 -0000
User-agent: eGroups-EW/0.82

Olá Ernander, 
Compreendi a natureza do processo. Muito obrigado pelo esclarecimento.
Abraço.

Evaldo de Oliveira.

--- Em address@hidden, "Ernander (Nander)" <ernander@...> escreveu
>
> Com a opção "-i"  do sed, ele altera diretamente dentro do arquivo. COmo
> melhors práticas usamos -i.bkp pois o sed cria um bkp do arquivo original
> caso haja algunma Catástrofe.
> 
> :D
> 
> 
> 
> Att
> 
> *Ernander Marcus Lataliza Rosendo*
> 
> *Certified SonicWall Security Professional**Certified SonicWall Security
> Administrator*
> [image: CSSP - Certified SonicWALL Security Professional]
> [image: Visualizar meu perfil no LinkedIn]
> <http://br.linkedin.com/pub/ernander-marcus-lataliza-rosendo/b/4a6/1a8>
> 
> 
> Em 30 de janeiro de 2014 07:43, Evaldo
> <evaldodeoliveirasrs@...>escreveu:
> 
> >
> >
> > Olá senhores,
> > Gastaria de agradecer mais uma vez a cooperação de todos em especial ao
> > Julio.
> > Petterson,entendi sua dica mais qual seria o ganho que teria? Se eu
> > modificar a variável através do sed não teria que grava-la no arquivo
> > novamente?
> > Abraço.
> > Evaldo de Oliveira.
> >
> > --- Em address@hidden, Petterson Faria <contato@>
> > escreveu
> > >
> > > Criar uma variavel para o arquivo */persistent/var/lib/asterisk/*
> > > *db/custom-cfg/extensions_**custom.conf* tb eh muito valido.
> >
> > >
> > > conf="/persistent/var/lib/asterisk/db/custom-cfg/extensions_custom.conf"
> > >
> > > sed -i "s/^\;#12//;s/IP12/$IP/" $conf
> > > >
> > >
> > >
> > >
> > > --
> > > Atenciosamente,
> > > *Petterson Faria*
> >
> > >
> > > "Há momentos em que a maior sabedoria, é parecer não saber nada" (Sun
> > Tzu)
> > >
> > >
> > >
> > > 2014-01-29 Julio C. Neves <julio.neves@>
> >
> > >
> > > >
> > > >
> > > > Evaldo, não sei pq, um pedaço do meu e-mail sumiu. Então repare a
> > linha em
> > > > que fiz o sed, que farei uma correção.
> > > >
> > > > Em 29 de janeiro de 2014 21:03, Evaldo <evaldodeoliveirasrs@
> > ...>escreveu:
> >
> > > >
> > > >>
> > > >>
> > > >>
> > > >> Olá Julio,
> > > >> Fico grato com suas valiosas dicas. Meu objetivo inicial já foi
> > alcançado
> > > >> de encontrar um norte que me permita seguir enfrente com maior
> > qualidade.
> > > >> Irei reescrever o código utilizando suas dicas e acredito que irá
> > melhorar
> > > >> e muito.
> > > >> Muito obrigado e assim que concluir postarei o resultado.
> > > >> Abraço.
> > > >>
> > > >> --- Em address@hidden, "Julio C. Neves"
> > <julio.neves@>
> > > >> escreveu
> > > >> >
> > > >> > Evaldo,
> > > >> > acho que o cara que analisar o teu código,
> > > >> *que*
> >
> > > >> está sem comentário nem
> > > >> > nada, deveria receber uma boa grana de consultoria e como sei que
> > vc não
> > > >> > vai pagar, tb não analisarei o seu código... ;)
> > > >> >
> > > >> > No entanto, de cara já descobri como dar um bela encolhida e tb já
> > > >> achei um
> > > >> > erro que se repete por n linhas. Troque:
> > > >>
> > > >>
> > > > *Troque:*
> > > > *sed -i "s/^;#12//"
> > > > /persistent/var/lib/asterisk/db/custom-cfg/extensions_custom.conf; *
> > > > *sed -i "s/IP12/$IP/"
> > > > /persistent/var/lib/asterisk/db/custom-cfg/extensions_custom.conf;*
> > > >
> > > > *por:*
> >
> > > > sed -i "s/^\;#12//;s/IP12/$IP/"
> > > > /persistent/var/lib/asterisk/db/custom-cfg/extensions_custom.conf
> > > >
> > > >> >
> > > >> > sed -i
> > > >> "s/^\;#12//;s/IP12/$IP/"
> > /persistent/var/lib/asterisk/db/custom-cfg/extensions_custom.conf
> > > >> >
> > > >> > Como o ponto e vírgula é representativo para o sed pois equivale a
> > um
> > > >> > <ENTER> (separa 2 cmds), ele deve ser protegido com uma contrabarra
> > e
> > > >> foi
> > > >> > por isso que fiz s/^\;#12. Como eu disse, pode haver mais de um cmd
> > > >> dentro
> > > >> > do mesmo sed, desde que separados por um ponto e vírgula, por isso
> > > >> coloquei
> > > >> > 2 cmds substitute (s) dentro do mesmo sed, já que o arquivo era o
> > mesmo.
> > > >> >
> > > >> > Aconselho tb trocar esse monte de if farjuto por um único case.
> > Além de
> > > >> > mais elegante é mais eficiente.
> > > >> >
> > > >> > Como não perdi mais de 1 minuto e achei isso tudo, é provável que se
> > > >> olhar
> > > >> > fixamente por uns 10 minutos, o script fique com umas 5 linhas. ;)
> > > >> >
> > > >> > Ahh, só mais uma coisa:
> > > >> >
> > > >> > echo -n "Nome: "
> > > >> > read nom
> > > >> >
> > > >> > No bash, é melhor fazer:
> > > >> >
> > > >> > read -p "Nome: " nom
> > > >> >
> > > >> > E no ksh, pode-se fazer o mesmo com:
> > > >> >
> > > >> > read "Nome: "?nom
> > > >> >
> > > >> >
> > > >> >
> > > >> > Abcs,
> > > >> > Julio
> > > >> > *@juliobash*
> > > >> >
> > > >> > *Próximos cursos de Shell *
> > > >> >
> > > >> > *Cidade*
> > > >> >
> > > >> > *Local*
> > > >> >
> > > >> > *Período*
> > > >> >
> > > >> > São Paulo
> > > >> >
> > > >> > 4Linux <http://www.4linux.com.br/>
> > > >> >
> > > >> > 03-07/02
> > > >> >
> > > >> > Curitiba
> > > >> >
> > > >> > SoftSell <http://www.softsell.com.br/>
> > > >> >
> > > >> > 17-21/02
> > > >> >
> > > >> > Rio de Janeiro
> > > >> >
> > > >> > EDX <http://edx.srv.br/>
> > > >> >
> > > >> > 10-14/03
> > > >> > Dou treinamento de shell em qualquer cidade.
> > > >> > Para detalhes, entre em contato por email ou
> > > >> > echo 436233889341364416673541503686485725801923229706P | dc
> > > >> >
> > > >> >
> > > >> >
> > > >> > Em 29 de janeiro de 2014 17:57, Evaldo
> > > >> > <evaldodeoliveirasrs@>escreveu:
> >
> > > >> >
> > > >> > >
> > > >> > >
> > > >> > > Ok, pessoal. Vou tentar descrever melhor.
> > > >> > > Hoje o arquivo de meu script esta com 46K e o erro ocorre quando
> > > >> habilito
> > > >> > > este trecho de código. (Ficou grande, mas se puderem me dar um
> > norte
> > > >> fico
> > > >> > > grato).
> > > >> > >
> > > >> > > '2')
> > > >> > > clear;
> > > >> > > echo -n "Informe o codigo do chip da operadora a ser instalado no
> > > >> NeoGate
> > > >> > > Slave 1: ";
> > > >> > > read CHIP_S1_1;
> > > >> > > echo -n "Informe o endereco IP do Neogate Slave 1: ";
> > > >> > > read IP;
> > > >> > > if [ "$CHIP_S1_1" -eq "12" ]
> > > >> > > then
> > > >> > > sed -i "s/^;#12//"
> > > >> > > /persistent/var/lib/asterisk/db/custom-cfg/extensions_custom.conf;
> > > >> > > sed -i "s/IP12/$IP/"
> > > >> > > /persistent/var/lib/asterisk/db/custom-cfg/extensions_custom.conf;
> > > >> > > elif [ "$CHIP_S1_1" -eq "15" ]
> > > >> > > then
> > > >> > > sed -i "s/^;#15//"
> > > >> > > /persistent/var/lib/asterisk/db/custom-cfg/extensions_custom.conf;
> > > >> > > sed -i "s/IP15/$IP/"
> > > >> > > /persistent/var/lib/asterisk/db/custom-cfg/extensions_custom.conf;
> > > >> > > elif [ "$CHIP_S1_1" -eq "21" ]
> > > >> > > then
> > > >> > > sed -i "s/^;#21//"
> > > >> > > /persistent/var/lib/asterisk/db/custom-cfg/extensions_custom.conf;
> > > >> > > sed -i "s/IP21/$IP/"
> > > >> > > /persistent/var/lib/asterisk/db/custom-cfg/extensions_custom.conf;
> > > >> > > elif [ "$CHIP_S1_1" -eq "31" ]
> > > >> > > then
> > > >> > > sed -i "s/^;#31//"
> > > >> > > /persistent/var/lib/asterisk/db/custom-cfg/extensions_custom.conf;
> > > >> > > sed -i "s/IP31/$IP/"
> > > >> > > /persistent/var/lib/asterisk/db/custom-cfg/extensions_custom.conf;
> > > >> > > elif [ "$CHIP_S1_1" -eq "41" ]
> > > >> > > then
> > > >> > > sed -i "s/^;#41//"
> > > >> > > /persistent/var/lib/asterisk/db/custom-cfg/extensions_custom.conf;
> > > >> > > sed -i "s/IP41/$IP/"
> > > >> > > /persistent/var/lib/asterisk/db/custom-cfg/extensions_custom.conf;
> > > >> > > elif [ "$CHIP_S1_1" -eq "43" ]
> > > >> > > then
> > > >> > > sed -i "s/^;#43//"
> > > >> > > /persistent/var/lib/asterisk/db/custom-cfg/extensions_custom.conf;
> > > >> > > sed -i "s/IP43/$IP/"
> > > >> > > /persistent/var/lib/asterisk/db/custom-cfg/extensions_custom.conf;
> > > >> > > elif [ "$CHIP_S1_1" -eq "51" ]
> > > >> > > then
> > > >> > > sed -i "s/^;#51//"
> > > >> > > /persistent/var/lib/asterisk/db/custom-cfg/extensions_custom.conf;
> > > >> > > sed -i "s/IP51/$IP/"
> > > >> > > /persistent/var/lib/asterisk/db/custom-cfg/extensions_custom.conf;
> > > >> > > elif [ "$CHIP_S1_1" -eq "61" ]
> > > >> > > then
> > > >> > > sed -i "s/^;#61//"
> > > >> > > /persistent/var/lib/asterisk/db/custom-cfg/extensions_custom.conf;
> > > >> > > sed -i "s/IP61/$IP/"
> > > >> > > /persistent/var/lib/asterisk/db/custom-cfg/extensions_custom.conf;
> > > >> > > fi
> > > >> > > ;;
> > > >> > > *)
> > > >> > > ;;
> > > >> > > esac
> > > >> > >
> > > >> > > clear;
> > > >> > > echo "=> Os chips das operadoras a serem instaladas no NeoGate
> > Slave
> > > >> 2 sao
> > > >> > > de operadoras diferentes? ";
> > > >> > > echo '=> Caso SIM digite 1.';
> > > >> > > echo '=> Caso NAO digite 2.';
> > > >> > > echo -n "Sua opcao: ";
> > > >> > > read OPS2;
> > > >> > > case $OPS2 in
> > > >> > > '1')
> > > >> > > clear;
> > > >> > > echo -n "Informe o codigo do chip da operadora a ser instalado na
> > > >> posicao
> > > >> > > 1 do NeoGate Slave 2: ";
> > > >> > > read CHIP_S2_1;
> > > >> > > echo -n "Informe o codigo do chip da operadora a ser instalado na
> > > >> posicao
> > > >> > > 2 do NeoGate Slave 2: ";
> > > >> > > read CHIP_S2_2;
> > > >> > > echo -n "Informe o endereco IP do Neogate Slave 1: ";
> > > >> > > read IP;
> > > >> > > if [ "$CHIP_S2_1" -eq "12" ]
> > > >> > > then
> > > >> > > sed -i "s/^;#12//"
> > > >> > > /persistent/var/lib/asterisk/db/custom-cfg/extensions_custom.conf;
> > > >> > > sed -i "s/IP12/$IP/"
> > > >> > > /persistent/var/lib/asterisk/db/custom-cfg/extensions_custom.conf;
> > > >> > > elif [ "$CHIP_S2_1" -eq "15" ]
> > > >> > > then
> > > >> > > sed -i "s/^;#15//"
> > > >> > > /persistent/var/lib/asterisk/db/custom-cfg/extensions_custom.conf;
> > > >> > > sed -i "s/IP15/$IP/"
> > > >> > > /persistent/var/lib/asterisk/db/custom-cfg/extensions_custom.conf;
> > > >> > > elif [ "$CHIP_S2_1" -eq "21" ]
> > > >> > > then
> > > >> > > sed -i "s/^;#21//"
> > > >> > > /persistent/var/lib/asterisk/db/custom-cfg/extensions_custom.conf;
> > > >> > > sed -i "s/IP21/$IP/"
> > > >> > > /persistent/var/lib/asterisk/db/custom-cfg/extensions_custom.conf;
> > > >> > > elif [ "$CHIP_S2_1" -eq "31" ]
> > > >> > > then
> > > >> > > sed -i "s/^;#31//"
> > > >> > > /persistent/var/lib/asterisk/db/custom-cfg/extensions_custom.conf;
> > > >> > > sed -i "s/IP31/$IP/"
> > > >> > > /persistent/var/lib/asterisk/db/custom-cfg/extensions_custom.conf;
> > > >> > > elif [ "$CHIP_S2_1" -eq "41" ]
> > > >> > > then
> > > >> > > sed -i "s/^;#41//"
> > > >> > > /persistent/var/lib/asterisk/db/custom-cfg/extensions_custom.conf;
> > > >> > > sed -i "s/IP41/$IP/"
> > > >> > > /persistent/var/lib/asterisk/db/custom-cfg/extensions_custom.conf;
> > > >> > > elif [ "$CHIP_S2_1" -eq "43" ]
> > > >> > > then
> > > >> > > sed -i "s/^;#43//"
> > > >> > > /persistent/var/lib/asterisk/db/custom-cfg/extensions_custom.conf;
> > > >> > > sed -i "s/IP43/$IP/"
> > > >> > > /persistent/var/lib/asterisk/db/custom-cfg/extensions_custom.conf;
> > > >> > > elif [ "$CHIP_S2_1" -eq "51" ]
> > > >> > > then
> > > >> > > sed -i "s/^;#51//"
> > > >> > > /persistent/var/lib/asterisk/db/custom-cfg/extensions_custom.conf;
> > > >> > > sed -i "s/IP51/$IP/"
> > > >> > > /persistent/var/lib/asterisk/db/custom-cfg/extensions_custom.conf;
> > > >> > > elif [ "$CHIP_S2_1" -eq "61" ]
> > > >> > > then
> > > >> > > sed -i "s/^;#61//"
> > > >> > > /persistent/var/lib/asterisk/db/custom-cfg/extensions_custom.conf;
> > > >> > > sed -i "s/IP61/$IP/"
> > > >> > > /persistent/var/lib/asterisk/db/custom-cfg/extensions_custom.conf;
> > > >> > > fi
> > > >> > > if [ "$CHIP_S2_2" -eq "12" ]
> > > >> > > then
> > > >> > > sed -i "s/^;#12//"
> > > >> > > /persistent/var/lib/asterisk/db/custom-cfg/extensions_custom.conf;
> > > >> > > sed -i "s/IP12/$IP/"
> > > >> > > /persistent/var/lib/asterisk/db/custom-cfg/extensions_custom.conf;
> > > >> > > elif [ "$CHIP_S2_2" -eq "15" ]
> > > >> > > then
> > > >> > > sed -i "s/^;#15//"
> > > >> > > /persistent/var/lib/asterisk/db/custom-cfg/extensions_custom.conf;
> > > >> > > sed -i "s/IP15/$IP/"
> > > >> > > /persistent/var/lib/asterisk/db/custom-cfg/extensions_custom.conf;
> > > >> > > elif [ "$CHIP_S2_2" -eq "21" ]
> > > >> > > then
> > > >> > > sed -i "s/^;#21//"
> > > >> > > /persistent/var/lib/asterisk/db/custom-cfg/extensions_custom.conf;
> > > >> > > sed -i "s/IP21/$IP/"
> > > >> > > /persistent/var/lib/asterisk/db/custom-cfg/extensions_custom.conf;
> > > >> > > elif [ "$CHIP_S2_2" -eq "31" ]
> > > >> > > then
> > > >> > > sed -i "s/^;#31//"
> > > >> > > /persistent/var/lib/asterisk/db/custom-cfg/extensions_custom.conf;
> > > >> > > sed -i "s/IP31/$IP/"
> > > >> > > /persistent/var/lib/asterisk/db/custom-cfg/extensions_custom.conf;
> > > >> > > elif [ "$CHIP_S2_2" -eq "41" ]
> > > >> > > then
> > > >> > > sed -i "s/^;#41//"
> > > >> > > /persistent/var/lib/asterisk/db/custom-cfg/extensions_custom.conf;
> > > >> > > sed -i "s/IP41/$IP/"
> > > >> > > /persistent/var/lib/asterisk/db/custom-cfg/extensions_custom.conf;
> > > >> > > elif [ "$CHIP_S2_2" -eq "43" ]
> > > >> > > then
> > > >> > > sed -i "s/^;#43//"
> > > >> > > /persistent/var/lib/asterisk/db/custom-cfg/extensions_custom.conf;
> > > >> > > sed -i "s/IP43/$IP/"
> > > >> > > /persistent/var/lib/asterisk/db/custom-cfg/extensions_custom.conf;
> > > >> > > elif [ "$CHIP_S2_2" -eq "51" ]
> > > >> > > then
> > > >> > > sed -i "s/^;#51//"
> > > >> > > /persistent/var/lib/asterisk/db/custom-cfg/extensions_custom.conf;
> > > >> > > sed -i "s/IP51/$IP/"
> > > >> > > /persistent/var/lib/asterisk/db/custom-cfg/extensions_custom.conf;
> > > >> > > elif [ "$CHIP_S2_2" -eq "61" ]
> > > >> > > then
> > > >> > > sed -i "s/^;#61//"
> > > >> > > /persistent/var/lib/asterisk/db/custom-cfg/extensions_custom.conf;
> > > >> > > sed -i "s/IP61/$IP/"
> > > >> > > /persistent/var/lib/asterisk/db/custom-cfg/extensions_custom.conf;
> > > >> > > fi
> > > >> > > echo "Alteracao concluida com sucesso o equipamento ira reiniciar.
> > > >> > > Pressione a tecla ENTER para encerrar!";
> > > >> > > read -n1 -p;
> > > >> > > # reboot;
> > > >> > > ;;
> > > >> > > '2')
> > > >> > > clear;
> > > >> > > echo -n "Informe o codigo do chip da operadora a ser instalado no
> > > >> NeoGate
> > > >> > > Slave 2: ";
> > > >> > > read CHIP_S2_1;
> > > >> > > echo -n "Informe o endereco IP do Neogate Slave 1: ";
> > > >> > > read IP;
> > > >> > > if [ "$CHIP_S2_1" -eq "12" ]
> > > >> > > then
> > > >> > > sed -i "s/^;#12//"
> > > >> > > /persistent/var/lib/asterisk/db/custom-cfg/extensions_custom.conf;
> > > >> > > sed -i "s/IP12/$IP/"
> > > >> > > /persistent/var/lib/asterisk/db/custom-cfg/extensions_custom.conf;
> > > >> > > elif [ "$CHIP_S2_1" -eq "15" ]
> > > >> > > then
> > > >> > > sed -i "s/^;#15//"
> > > >> > > /persistent/var/lib/asterisk/db/custom-cfg/extensions_custom.conf;
> > > >> > > sed -i "s/IP15/$IP/"
> > > >> > > /persistent/var/lib/asterisk/db/custom-cfg/extensions_custom.conf;
> > > >> > > elif [ "$CHIP_S2_1" -eq "21" ]
> > > >> > > then
> > > >> > > sed -i "s/^;#21//"
> > > >> > > /persistent/var/lib/asterisk/db/custom-cfg/extensions_custom.conf;
> > > >> > > sed -i "s/IP21/$IP/"
> > > >> > > /persistent/var/lib/asterisk/db/custom-cfg/extensions_custom.conf;
> > > >> > > elif [ "$CHIP_S2_1" -eq "31" ]
> > > >> > > then
> > > >> > > sed -i "s/^;#31//"
> > > >> > > /persistent/var/lib/asterisk/db/custom-cfg/extensions_custom.conf;
> > > >> > > sed -i "s/IP31/$IP/"
> > > >> > > /persistent/var/lib/asterisk/db/custom-cfg/extensions_custom.conf;
> > > >> > > elif [ "$CHIP_S2_1" -eq "41" ]
> > > >> > > then
> > > >> > > sed -i "s/^;#41//"
> > > >> > > /persistent/var/lib/asterisk/db/custom-cfg/extensions_custom.conf;
> > > >> > > sed -i "s/IP41/$IP/"
> > > >> > > /persistent/var/lib/asterisk/db/custom-cfg/extensions_custom.conf;
> > > >> > > elif [ "$CHIP_S2_1" -eq "43" ]
> > > >> > > then
> > > >> > > sed -i "s/^;#43//"
> > > >> > > /persistent/var/lib/asterisk/db/custom-cfg/extensions_custom.conf;
> > > >> > > sed -i "s/IP43/$IP/"
> > > >> > > /persistent/var/lib/asterisk/db/custom-cfg/extensions_custom.conf;
> > > >> > > elif [ "$CHIP_S2_1" -eq "51" ]
> > > >> > > then
> > > >> > > sed -i "s/^;#51//"
> > > >> > > /persistent/var/lib/asterisk/db/custom-cfg/extensions_custom.conf;
> > > >> > > sed -i "s/IP51/$IP/"
> > > >> > > /persistent/var/lib/asterisk/db/custom-cfg/extensions_custom.conf;
> > > >> > > elif [ "$CHIP_S2_1" -eq "61" ]
> > > >> > > then
> > > >> > > sed -i "s/^;#61//"
> > > >> > > /persistent/var/lib/asterisk/db/custom-cfg/extensions_custom.conf;
> > > >> > > sed -i "s/IP61/$IP/"
> > > >> > > /persistent/var/lib/asterisk/db/custom-cfg/extensions_custom.conf;
> > > >> > > fi
> > > >> > > echo "Alteracao concluida com sucesso o equipamento ira reiniciar.
> > > >> > > Pressione a tecla ENTER para encerrar!";
> > > >> > > read -n1 -p;
> > > >> > > # reboot;
> > > >> > > ;;
> > > >> > > *)
> > > >> > > ;;
> > > >> > > esac
> > > >> > >
> > > >> > >
> > > >> > >
> > > >> >
> > > >>
> > > >>
> > > >
> > > >
> > >
> >
> >  
> >
>




reply via email to

[Prev in Thread] Current Thread [Next in Thread]