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 09:43:55 -0000
User-agent: eGroups-EW/0.82

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]