[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: |
Wed, 29 Jan 2014 23:03:06 -0000 |
User-agent: |
eGroups-EW/0.82 |
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, sem 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:
>
> 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
> >
> >
> >
>
- out of string space, Evaldo, 2014/01/29
- Re: [shell-script] out of string space, Tiago Peczenyj, 2014/01/29
- Re: out of string space, Evaldo, 2014/01/29
- Re: [shell-script] Re: out of string space, Julio C. Neves, 2014/01/29
- Re: out of string space,
Evaldo <=
- Re: [shell-script] Re: out of string space, Julio C. Neves, 2014/01/29
- Re: [shell-script] Re: out of string space, Petterson Faria, 2014/01/30
- Re: out of string space, Evaldo, 2014/01/30
- Re: [shell-script] Re: out of string space, Ernander (Nander), 2014/01/30
- Re: out of string space, Evaldo, 2014/01/30