Re: Ajuda com shell scritp
Oi Leandro. Acho que vc precisa usar o utilitário 'bc'. Acho que ele é parte dos aplicativos do GNU, então provavelmente vem em qualquer distribuição. 2010/8/6 Leandro Moreira lean...@leandromoreira.eti.br: Caros, Estou criando um script que faz um contador que armazena dentro de um arquivo o valor anterior e usa este para realizar o proximo salto, o contador estar funcionando perfeitamente, conforme abaixo: COUT=/home/lmoreira/script-dev/vpn/serial CONTADOR=`cat $COUT` if [ $CONTADOR -eq $CONTADOR ]; then let CONTADOR=$CONTADOR+1; echo Contador em: $CONTADOR; fi echo $CONTADOR serial So que eu preciso que o numero seja implementado com 3casas decimais tipo 001,002,003 pois vou usar essa informação também no meu scritp de firewall para realizar liberação de portas, algume pode me ajudar a formatar esse numero. Att. -- Leandro Moreira Network Administrator LPIC1 - Linux Professional Institute Certified e-mail/msn: lean...@leandromoreira.eti.br Tel.: + 55(32) 9906-5713 -- To UNSUBSCRIBE, email to debian-user-portuguese-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/aanlktimmkfkmguobf8czc=sm=hrjnzjbrremfjc+-...@mail.gmail.com
Re: Ajuda com shell scritp
Em 06-08-2010 09:35, Leandro Moreira escreveu: Junior, Na linha [ $CONTADOR -eq $CONTADOR ] ele compara as variaveis se forem iguais ele segue se nao ele nao faz nada, como contador vai receber o conteudo do arquivo serial vai ser sempre valores iguais entao ele entre na estrutura e soma +1 a variavel, não é pra ser um contador do tipo conte de zero a 100 esse eu precisso q ele de apenas um salto cada vez que eu executar o script. Leandro, Desculpe, mas verificar se uma variável (CONTADOR) é igual (-eq) à ela mesma (CONTADOR) vai ser sempre verdadeiro, teria algum caso em que isso não seria verdade? Poderíamos, ser for somente para somar 1 ao número do arquivo, simplificar em: COUT=arquivo echo $((`cat $COUT` + 1)) $COUT Para usar este número como inteiro de 3 dígitos completado com zeros à esquerda, no script onde for usar: COUT=arquivo CONTADOR=`printf %03i \`cat $COUT\`` ... (resto do seu script com CONTADOR sendo um inteiro de 3 dígitos, completado com zeros à esquerda) []'s Junior Poegato -- To UNSUBSCRIBE, email to debian-user-portuguese-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/4c5c0570.8040...@juniorpolegato.com.br
Re: ajuda com shell
Ricardo, este procedimento não é seguro, por que não usar o sudo ou fakeroot? Em 28 de janeiro de 2010 10:57, thiago thsa...@gmail.com escreveu: Senhores, tenho a seguinte linha user:x:509:509::/home/user:/bin/bash preciso colocar 0 no lugar dos dois 509, ou seja, colocar o usuário como root, alguém pode me ajudar? -- Thiago Silveira Alexandre Security Enginner Intechne Tecnologia da Informação (98) 3311 6200 (98) 3311 6219 (98) 8132 1020 -- To UNSUBSCRIBE, email to debian-user-portuguese-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org -- #=+ #!/usr/bin/env python nome = 'Sinval Júnior' email = 'sinvalju at gmail.com' print nome print email #==+
Re: ajuda com shell
Eu sei dos ricos desse procedimento Sinval Júnior escreveu: Ricardo, este procedimento não é seguro, por que não usar o sudo ou fakeroot? Em 28 de janeiro de 2010 10:57, thiago thsa...@gmail.com mailto:thsa...@gmail.com escreveu: Senhores, tenho a seguinte linha user:x:509:509::/home/user:/bin/bash preciso colocar 0 no lugar dos dois 509, ou seja, colocar o usuário como root, alguém pode me ajudar? -- Thiago Silveira Alexandre Security Enginner Intechne Tecnologia da Informação (98) 3311 6200 (98) 3311 6219 (98) 8132 1020 -- To UNSUBSCRIBE, email to debian-user-portuguese-requ...@lists.debian.org mailto:debian-user-portuguese-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org mailto:listmas...@lists.debian.org -- #=+ #!/usr/bin/env python nome = 'Sinval Júnior' email = 'sinvalju at gmail.com http://gmail.com' print nome print email #==+ -- Thiago Silveira Alexandre Security Enginner Intechne Tecnologia da Informação (98) 3311 6200 (98) 3311 6219 (98) 8132 1020 -- To UNSUBSCRIBE, email to debian-user-portuguese-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Re: ajuda com shell
thiago escreveu: Senhores, tenho a seguinte linha user:x:509:509::/home/user:/bin/bash preciso colocar 0 no lugar dos dois 509, ou seja, colocar o usuário como root, alguém pode me ajudar Olá, Seria isso? echo 'user:x:509:509::/home/user:/bin/bash' | sed 's/509/0/g' Se quer mudar algo dentro de um arquivo (passwd no caso): sed -i 's/509/0/g' /etc/passwd Para mais alternativas favor fornecer mais dados. []'s Junior Polegato -- To UNSUBSCRIBE, email to debian-user-portuguese-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Re: ajuda com shell
Eh mais ou menos isso Junior, só que não é somente o número 509, e sim qualquer número, ou seja, até então eu não sei o ID nem o GID do usuário, entendeu? Desculpas se não fui claro da primeira vez. Junior Polegato - Linux escreveu: thiago escreveu: Senhores, tenho a seguinte linha user:x:509:509::/home/user:/bin/bash preciso colocar 0 no lugar dos dois 509, ou seja, colocar o usuário como root, alguém pode me ajudar Olá, Seria isso? echo 'user:x:509:509::/home/user:/bin/bash' | sed 's/509/0/g' Se quer mudar algo dentro de um arquivo (passwd no caso): sed -i 's/509/0/g' /etc/passwd Para mais alternativas favor fornecer mais dados. []'s Junior Polegato -- Thiago Silveira Alexandre Security Enginner Intechne Tecnologia da Informação (98) 3311 6200 (98) 3311 6219 (98) 8132 1020 -- To UNSUBSCRIBE, email to debian-user-portuguese-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Re: ajuda com shell
Em 28-01-2010 11:37, thiago escreveu: Eh mais ou menos isso Junior, só que não é somente o número 509, e sim qualquer número, ou seja, até então eu não sei o ID nem o GID do usuário, entendeu? Mas pelo menos você tem o nome do usuário ? Desculpas se não fui claro da primeira vez. Junior Polegato - Linux escreveu: thiago escreveu: Senhores, tenho a seguinte linha user:x:509:509::/home/user:/bin/bash preciso colocar 0 no lugar dos dois 509, ou seja, colocar o usuário como root, alguém pode me ajudar Olá, Seria isso? echo 'user:x:509:509::/home/user:/bin/bash' | sed 's/509/0/g' Se quer mudar algo dentro de um arquivo (passwd no caso): sed -i 's/509/0/g' /etc/passwd Para mais alternativas favor fornecer mais dados. []'s Junior Polegato -- --- SLot UIN: 19596909 Linux User: 124842 Jabber: s...@jabber-br.org Emails: slot...@gmail.com | s...@xen-br.org -- To UNSUBSCRIBE, email to debian-user-portuguese-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Re: ajuda com shell
Achei esse comando na net sed ':a;s/^\([^,]*,[^,]\+\)o/\1x/;ta' teste e diz que substitui o por x entre a segunda e a terceira ,. O que preciso é mais ou menos isso, só que preciso substituir qualquer número que esteja entre o segundo e terceiro, e entre o terceiro e quarto : por 0. Junior Polegato - Linux escreveu: thiago escreveu: Senhores, tenho a seguinte linha user:x:509:509::/home/user:/bin/bash preciso colocar 0 no lugar dos dois 509, ou seja, colocar o usuário como root, alguém pode me ajudar Olá, Seria isso? echo 'user:x:509:509::/home/user:/bin/bash' | sed 's/509/0/g' Se quer mudar algo dentro de um arquivo (passwd no caso): sed -i 's/509/0/g' /etc/passwd Para mais alternativas favor fornecer mais dados. []'s Junior Polegato -- Thiago Silveira Alexandre Security Enginner Intechne Tecnologia da Informação (98) 3311 6200 (98) 3311 6219 (98) 8132 1020 -- To UNSUBSCRIBE, email to debian-user-portuguese-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Re: ajuda com shell
Tenho sim Gustavo :) Gustavo Soares SLot escreveu: Em 28-01-2010 11:37, thiago escreveu: Eh mais ou menos isso Junior, só que não é somente o número 509, e sim qualquer número, ou seja, até então eu não sei o ID nem o GID do usuário, entendeu? Mas pelo menos você tem o nome do usuário ? Desculpas se não fui claro da primeira vez. Junior Polegato - Linux escreveu: thiago escreveu: Senhores, tenho a seguinte linha user:x:509:509::/home/user:/bin/bash preciso colocar 0 no lugar dos dois 509, ou seja, colocar o usuário como root, alguém pode me ajudar Olá, Seria isso? echo 'user:x:509:509::/home/user:/bin/bash' | sed 's/509/0/g' Se quer mudar algo dentro de um arquivo (passwd no caso): sed -i 's/509/0/g' /etc/passwd Para mais alternativas favor fornecer mais dados. []'s Junior Polegato -- Thiago Silveira Alexandre Security Enginner Intechne Tecnologia da Informação (98) 3311 6200 (98) 3311 6219 (98) 8132 1020 -- To UNSUBSCRIBE, email to debian-user-portuguese-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Re: ajuda com shell
Senhores, tenho a seguinte linha user:x:509:509::/home/user:/bin/bash preciso colocar 0 no lugar dos dois 509, ou seja, colocar o usuário como root, alguém pode me ajudar? Não estou em uma máquina Linux agora, mas que eu me lembre é assim, se isto está no arquivo '/etc/passwd' : # usermod --u 0 -g 0 -o user Boa sorte. -- To UNSUBSCRIBE, email to debian-user-portuguese-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Re: ajuda com shell
Resolvido, tem gente (eu) que sempre tende a pensar da forma mais difícil de fazer as coisas k Fabricio Cannini escreveu: Senhores, tenho a seguinte linha user:x:509:509::/home/user:/bin/bash preciso colocar 0 no lugar dos dois 509, ou seja, colocar o usuário como root, alguém pode me ajudar? Não estou em uma máquina Linux agora, mas que eu me lembre é assim, se isto está no arquivo '/etc/passwd' : # usermod --u 0 -g 0 -o user Boa sorte. -- Thiago Silveira Alexandre Security Enginner Intechne Tecnologia da Informação (98) 3311 6200 (98) 3311 6219 (98) 8132 1020 -- To UNSUBSCRIBE, email to debian-user-portuguese-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Re: Ajuda com Shell Script Avançado - Algue m se atreve.
Bom eu acho que não preciso explicar muito do script abaixo, pois pouca coisa muda do seu, eu apenas usei o while pois estou usando uma variável incremental para servir de índice para o loop nas matrizes. #!/bin/sh IF=(eth0 eth1) IP=(192.168.0.1 192.168.0.2) MASK=(255.255.255.0 255.255.0.0) BCAST=(192.168.0.0 192.168.0.0) x=0 while [ $x != [EMAIL PROTECTED] ] do ifconfig ${IF[$x]} ${IP[$x]} netmask ${MASK[$x]} broadcast ${BCAST[$x]} up let x = x+1 done --- Abraços; gunix escreveu: Preciso criar um script que faça +- isso Alguem pode me ajudar? Vou ter uma variavel chamada IF=eth0 eth1 eth2 e vou ter varios parametros eth0_IP=10.1.0.1 http://10.1.0.1 eth1_IP=100.100.100.1 http://100.100.100.1 ... vou jogar isso num for para ler a variavel IF e ao entrar ele tenta os ip. Um exemplo do que quero é: for i in $IF; do ifconfig $i $i_IP netmask $i_MASK broadcast $i_BCAST up done preciso concatenar estas a variavem $IF com o _IP para que eu obtenha o resultado de $eth0_IP como faço isso? Alguem pode me ajudar. Parece uma loucura, maso que preciso fazer é uma rotina que vai ler diversos valores que alteram somente o inicial O Acima foi so um exmplo de que preciso. A raciocinio é igual Fui bem claro? Algeum pode me ajudar? Quando tento concaternar echo $$IF ele da problema. aTt Gustavo -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: Ajuda com Shell Script Avançado - Algue m se atreve.
gunix escreveu: Preciso criar um script que faça +- isso Alguem pode me ajudar? Vou ter uma variavel chamada IF=eth0 eth1 eth2 e vou ter varios parametros eth0_IP=10.1.0.1 http://10.1.0.1 eth1_IP=100.100.100.1 http://100.100.100.1 ... vou jogar isso num for para ler a variavel IF e ao entrar ele tenta os ip. Um exemplo do que quero é: for i in $IF; do ifconfig $i $i_IP netmask $i_MASK broadcast $i_BCAST up done preciso concatenar estas a variavem $IF com o _IP para que eu obtenha o resultado de $eth0_IP como faço isso? Alguem pode me ajudar. Parece uma loucura, maso que preciso fazer é uma rotina que vai ler diversos valores que alteram somente o inicial O Acima foi so um exmplo de que preciso. A raciocinio é igual Fui bem claro? Algeum pode me ajudar? Quando tento concaternar echo $$IF ele da problema. Olá, Não entendi muito bem, mas pode fazer assim: ETH[0 * 3 + 0] = 1.1.1.1 # IP da eth0 ETH[0 * 3 + 1] = 255.255.255.0# MASK da eth0 ETH[0 * 3 + 2] = 1.1.1.255# BCAST da eth0 ETH[1 * 3 + 0] = 1.1.1.2 # IP da eth1 ETH[1 * 3 + 1] = 255.255.255.0# MASK da eth1 ETH[1 * 3 + 2] = 1.1.1.255# BCAST da eth1 . . . MAX_ETH=(([EMAIL PROTECTED] / 3)) for ((i=0; i MAX_ETH; i++; do ifconfig ${ETH[i * 3 + 0]} netmask ${ETH[i * 3 + 1]} broadcast ${ETH[i * 3 + 2]} up done Onde o primeiro número entre colchetes é o da eth e o último é 0=IP, 1=MASK e 2=BCAST. O * 3 + é para emular duas dimensões em Bash. Se ainda insistir no seu método, tente: for i in $IF; do IP=`eval echo \$$i_IP` MASK=`eval echo \$$i_MASK` BCAST=`eval echo \$$i_BCAST` ifconfig $i $IP netmask $MASK broadcast $BCAST up done []'s Junior Polegato -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: Ajuda com Shell Script Avançado - Alguem se atreve.
vc quer eh concatenar cada interface com seus parametros eh isso? 2008/7/10 gunix [EMAIL PROTECTED]: Preciso criar um script que faça +- isso Alguem pode me ajudar? Vou ter uma variavel chamada IF=eth0 eth1 eth2 e vou ter varios parametros eth0_IP=10.1.0.1 eth1_IP=100.100.100.1 ... vou jogar isso num for para ler a variavel IF e ao entrar ele tenta os ip. Um exemplo do que quero é: for i in $IF; do ifconfig $i $i_IP netmask $i_MASK broadcast $i_BCAST up done preciso concatenar estas a variavem $IF com o _IP para que eu obtenha o resultado de $eth0_IP como faço isso? Alguem pode me ajudar. Parece uma loucura, maso que preciso fazer é uma rotina que vai ler diversos valores que alteram somente o inicial O Acima foi so um exmplo de que preciso. A raciocinio é igual Fui bem claro? Algeum pode me ajudar? Quando tento concaternar echo $$IF ele da problema. aTt Gustavo