AJUDA COM VARIAVEL URGENTE

1. AJUDA COM VARIAVEL URGENTE

marcos martins
marcos_martinns

(usa Debian)

Enviado em 17/04/2011 - 12:02h

olha antes deixa eu explicar o que estou fazendo. estou juntando o nome de usuario do /etc/passwd com a senha criptografada do /etc/shadown.

então vamos la com head estou especificando que quero ate a linha 5 do /etc/passwd com cut do filtrando ':' .

To pegando a primeira coluna do passwd e jogando para o arq1 em seguida faço a mesma coisa com o /etc/shadow jogando para arq2, depois junto os arq1 com arq 2 e me mostra o resultado na tela

com o comando abaixo.

head -n 5 /etc/passwd | cut -d ':' -f1 >arq1; head -n 5 /etc/shadow | cut -d ':' -f2 >arq2 && paste arq1 arq2

Ex:
root senha
usuario1 senha
usuario2 senha


so que quero jogar a saida deste comando para dentro de uma de ma variavel so que não ta dando certo ta saindo tudo bagunçado e ate pegando coisa nada a ver
vcs podem me ajudar?

este é o comando que estou digitando

VARPASSWD=$(head -n 5 /etc/passwd | cut -d ':' -f1 >arq1); VARSHADOW=$(head -n 5 /etc/shadow | cut -d ':' -f2);


TIPO AI EU IRIA JUNTAS AS DUAS NUMA TERCEIRA VARIAVEL SO QUE NÃO JUNTEI POIS AS VARIAVEIS NÃO TÃO FILTRANDO O QUE O COMANDO ESTA ESPECIFICANDO ELAS ESTÃO PEGANDO TUDO QUE TA NA LINHA E TODAS AS COLUNAS TA TUDO DESORGANIZADO



SE ALGUEM PODER ME AJUDAR FICO GRATO



  


2. A dúvida não tem nada de urgente

Júlio Hoffimann Mendes
julio_hoffimann

(usa Ubuntu)

Enviado em 17/04/2011 - 12:28h

Oi Marcos,

Em primeiro lugar, a dúvida não é urgente; Em segundo, não escreva em caixa alta, isso é falta de educação; Em terceiro:

"VARPASSWD=$(head -n 5 /etc/passwd | cut -d ':' -f1 >arq1);"

É impossível redirecionar a saída para o arquivo e para a variável ao mesmo tempo dessa maneira. Use o tee:

VARPASSWD=$(head -n 5 /etc/passwd | cut -d ':' -f1 | tee arq1);

Abraço!


3. olha alem de ser urgente

marcos martins
marcos_martinns

(usa Debian)

Enviado em 17/04/2011 - 12:46h

pois é pra uma rotina em shel scrip da empresa

vc que chamr minha atenção na escrita

e nem intendeu minha situação isso que vc me passou eu sei fazer le com atenção por favor antes de tentar se mostrar

eu ja sei redirecionar a variavel para um arquivo eu quero

é saber pq na varivel não esta filtrando na maneira que especifiquei ok obrigado

pela preocupaçao


4. Você não entendeu

Júlio Hoffimann Mendes
julio_hoffimann

(usa Ubuntu)

Enviado em 17/04/2011 - 12:55h

Marcos,

Não é questão de se mostrar, é educação mesmo.

Eu lhe disse a resposta, $() redireciona a saída do comando para a variável, isso quando ele tem saída. Você está redirecionando a saída para um arquivo, ficou claro agora porque não vai funcionar?

Se tiver um pouco de educação, marque o tópico como resolvido.

Sem mais.


5. descupa agora percebi eu postei errado

marcos martins
marcos_martinns

(usa Debian)

Enviado em 17/04/2011 - 12:58h

eu to fazendo assim apenas postei errado


VARPASSWD=$(head -n 5 /etc/passwd | cut -d ':' -f1 ); VARSHADOW=$(head -n 5 /etc/shadow | cut -d ':' -f2);


6. tipo julio

marcos martins
marcos_martinns

(usa Debian)

Enviado em 17/04/2011 - 13:09h

o resultado destas duas variaveis juntas quero jogar para um arquivo

VARPASSWD=$(head -n 5 /etc/passwd | cut -d ':' -f1 )&& VARSHADOW=$(head -n 5 /etc/shadow | cut -d ':' -f2)



tinha que juntar as duas e mandar para um arquivo com comando tee

so que não to conseguindo


7. Re: AJUDA COM VARIAVEL URGENTE

Perfil removido
removido

(usa Nenhuma)

Enviado em 17/04/2011 - 17:23h

...


#!/bin/bash
# author: Paulo Riceli Dias Lelis (./.ronin)
# more: http://sekysu.blogspot.com

function _getUserShadowPass()
{
if [ "$USER" == 'root' ]
then
PASSWD=( $( head -n $1 /etc/passwd | cut -d ':' -f1 ) )

for i in $(seq 0 1 $1)
do
grep "^${PASSWD[$i]}:" /etc/shadow | cut -d ':' -f 1-2 | sed 's/:/ /'
done
else
echo 'Desculpe, você não é o root!'
fi
}

_getUserShadowPass $1

exit


8. Re: AJUDA COM VARIAVEL URGENTE

Marcos Paulo Ferreira
daemonio

(usa Slackware)

Enviado em 17/04/2011 - 18:31h

Tipo, você pode usar o <(). Internamente o shell cria um arquivo que pode ser usado como parâmetro. O conteudo desse arquivo é a saída do processo executado dentro dos parênteses.

$ paste <(cut -f1 -d: /etc/passwd) <(cut -f2 -d: /etc/passwd) -d ':'

Saida

root:senhaaaaaa
bin:*
daemon:*
etc
etc

Redirecionando a saída do paste para um outro arquivo evita de você criar essa terceira variável para juntar os conteúdos.

Bem, acho que é isso.
t+


9. obrigado mais vc indendeu errado amigo

marcos martins
marcos_martinns

(usa Debian)

Enviado em 17/04/2011 - 19:21h

ola amigo vc intendeu errado vc ta pegando duas vezes o passwd tipo preciso ate a 1° coluna e a decima linha do passwd mas a 2ºcoluna e ate a decima linha shadow



esses exemplo que vc passou pega duas vezez o passwd si fosse ´pra fazer assim nem precisava de variavel
pois ela so pra fazer isto

head -n10 | cut -d ':' -f 1,2 /etc/passwd ai ja teria dado certoo mais mesmo assim

obrigado pela atenção


10. mais alguma ideia ?

marcos martins
marcos_martinns

(usa Debian)

Enviado em 18/04/2011 - 08:03h

alguem tem uma ideia de como fazer isto??



11. Re: AJUDA COM VARIAVEL URGENTE

Marcos Paulo Ferreira
daemonio

(usa Slackware)

Enviado em 03/05/2011 - 14:38h

hum.. era pra ser shadow ali no segundo <() e os head's eu esperava que você colocasse:

$ paste <(head -n5 /etc/passwd | cut -f1 -d:) <(head -n5 /etc/passwd | cut -f2 -d:) -d ':'

Mas me diga uma coisa: Para que você quer armazenar as saídas em variáveis? E como ficará o arquivo final quando o conteúdo dessas variáveis forem redirecionadas para ele?
Será do tipo: "usuario":"senha"?

t+


12. Sim

marcos martins
marcos_martinns

(usa Debian)

Enviado em 03/05/2011 - 14:46h

asssim mesmo usuario : senha






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts