ajuda script

1. ajuda script

migues
migues

(usa CentOS)

Enviado em 19/02/2013 - 11:24h

alguem pode me orientar e ajudar um sript que estou montando
quero ve se um usuario esta em uma lista caso nao vou adicionar

declarar variavel

lista=/etc/lista_user
lista_grupo=/etc/lista_grupo


echo " digite o nome do usuario "
read usuario
if [ $usuario == $lista ]
then
echo "usuario ja cadastrado"
else
echo "escolha um grupo da lista ou adicione um grupo novo"
cat $lista_grupo
echo n " digite o grupo: "
read grupo
if [$grupo == $lista_grupo] #verificar se o grupo esta na lista se estiver add usuario
useradd -g $grupo $usario #so que nao adiciona o grupo na lista
echo "$usuario" >> /etc/lista_usuarios.txt
else
useradd -g $grupo $usario
echo "$usuario" >> /etc/lista_usuarios.txt
echo "$grupo" >> /etc/lista_grupos.txt
fi
fi

entao minha dificuldades e testar se o usuario esta na lista


  


2. Re: ajuda script

Luís Fernando C. Cavalheiro
lcavalheiro

(usa Slackware)

Enviado em 19/02/2013 - 11:48h

migues escreveu:

alguem pode me orientar e ajudar um sript que estou montando
quero ve se um usuario esta em uma lista caso nao vou adicionar

declarar variavel

lista=/etc/lista_user
lista_grupo=/etc/lista_grupo


echo " digite o nome do usuario "
read usuario
if [ $usuario == $lista ]
then
echo "usuario ja cadastrado"
else
echo "escolha um grupo da lista ou adicione um grupo novo"
cat $lista_grupo
echo n " digite o grupo: "
read grupo
if [$grupo == $lista_grupo] #verificar se o grupo esta na lista se estiver add usuario
useradd -g $grupo $usario #so que nao adiciona o grupo na lista
echo "$usuario" >> /etc/lista_usuarios.txt
else
useradd -g $grupo $usario
echo "$usuario" >> /etc/lista_usuarios.txt
echo "$grupo" >> /etc/lista_grupos.txt
fi
fi

entao minha dificuldades e testar se o usuario esta na lista


Seja mais inteligente e estude como funciona o arquivo /etc/group (http://www.cyberciti.biz/faq/understanding-etcgroup-file/). Vai ser mais fácil do que fazer essa gambiarra toda, meu filho.


3. Re: ajuda script

Paulo
paulo1205

(usa Ubuntu)

Enviado em 19/02/2013 - 13:14h

Se você quer saber se uma string existe num arquivo, use o programa grep.


4. Re: ajuda script

Luís Fernando C. Cavalheiro
lcavalheiro

(usa Slackware)

Enviado em 19/02/2013 - 13:14h

paulo1205 escreveu:

Se você quer saber se uma string existe num arquivo, use o programa grep.


grep seguido por cut, no caso do /etc/group


5. Re: ajuda script

Paulo
paulo1205

(usa Ubuntu)

Enviado em 19/02/2013 - 13:58h

Não vi isso na pergunta dele. Pareceu-me que ele quer somente saber se está na lista. Nesse caso, não há necessidade cut, pois as expressões regulares do grep serão suficientes para evitar alarmes falsos.


6. Re: ajuda script

migues
migues

(usa CentOS)

Enviado em 19/02/2013 - 14:57h

bom em resposta ao senhor lcavalheiro "o mestre" , como disse so novo e estou começando mas ja sei uqe o grupo e usuarios fica no /etc/group /etc/passwd

porem no scrip quero colocar os usuarios e grupos numa lista

meu pedido de ajuda foi se estou comparando o usuario na lista corretamente ,como manipulo essa string

paulo1205 obrigado pela ajuda vou tentar usar o comando que me passou e mas isso mesmo
so quero ver se a $usuario consta na $lista_usuarios , que nao consegui ainda

valeu vo tentar


7. Re: ajuda script

Perfil removido
removido

(usa Nenhuma)

Enviado em 19/02/2013 - 16:47h

migues escreveu:
...
so quero ver se a $usuario consta na $lista_usuarios , que nao consegui ainda
...


Opa migues, beleza?

Então cara, seu problema se resolverá trocando o '==' pelo '='. :p

Ou seja:
if [ $usuario = $lista ]

Lembre-se que os colchetes representam o comando 'test', logo, você terá que usar seus parâmetros.

Para mais detalhes, dê uma olhada aqui:
http://aurelio.net/shell/canivete/#test

Ou:
$ man [

Ou:
$ man test

Flws.



8. Re: ajuda script

Alexandre Gonçalves Monteiro da Silva
alexandregms

(usa Ubuntu)

Enviado em 19/02/2013 - 18:09h

Aqui no VOL, vira e mexe tem conflitos de idéias nos fóruns.
Claro que devemos ter muita paciência em alguns casos, mas tratar todos da mesma forma.
Tem usuários do VOL que devem ser especialistas em alguns quesitos técnicos e com pouco conhecimento em outros, e por aí vai!
Eu mesmo, tenho muito mais facilidade em criar algoritmos do que mexer em SO, mas de qualquer forma busco informações constantemente onde eu sano minhas dúvidas.
Abraços!


9. Re: ajuda script

Luís Fernando C. Cavalheiro
lcavalheiro

(usa Slackware)

Enviado em 19/02/2013 - 23:37h

Se você não quis pesquisar ou pensar, azar. Você veria que a linha
 usuarios_grupo=$(cat /etc/passwd| grep $grupo | cut -d':' -f4)  

no seu script geraria uma variável contendo todos os usuários do grupo $grupo separados por vírgulas. Após essa linha,
 total_usuarios_grupo=$($(echo "$usuarios_grupo" | sed "s/\,\b/\,\n/g" | grep "\,\b" | wc -l)+1) 

retornaria o número de usuários pertencentes ao grupo, e o comando
 for i in `seq 1 $total_usuarios_grupo` ; do pertence_grupo=$(echo "$usuarios_grupo | cut -d',' -f$i); if [ "$pertence_grupo" = "$usuario_procurado"]; then comandos caso usuário pertença ao grupo; else comandos caso o usuário não pertença ao grupo; fi; done 

faria com que caso o usuário a ser testado pertencesse ao grupo fosse localizado e os devidos comandos fossem executados.

Mas como você não pensou ou pesquisou, achou mais fácil ofender. Sinceramente, feioso de sua parte.


10. Re: ajuda script

Paulo
paulo1205

(usa Ubuntu)

Enviado em 20/02/2013 - 00:28h

lcavalheiro,

Tenho certeza de que todos vão pensar melhor a seu respeito se você pegar um pouco mais leve.


11. Re: ajuda script

migues
migues

(usa CentOS)

Enviado em 20/02/2013 - 07:44h

bom em primeiro lugar estou começando agora no shell,so que dificuldades e duvidas estao
aparecendo,antes de postar tendo ler a respeito e verificar no vol se tem algo sobre o tema,a grande dificuldade e que nao tem niguem pra orientar sobre as duvidas ,por isso postei no forum no qual esta me ajudando muito , bom peço desculpa se ofendi o amigo, mas
com a 1 resposta do paulo ja começei a ver meu problema de outro maneira e com a ultima resposta do lcavalheiro verifiquei outros erros, vou tentar algo em cima das resposta dando certo coloco no forum obrigados a tods


12. Re: ajuda script

Perfil removido
removido

(usa Nenhuma)

Enviado em 20/02/2013 - 08:26h

lcavalheiro escreveu:

Se você não quis pesquisar ou pensar, azar. Você veria que a linha
 usuarios_grupo=$(cat /etc/passwd| grep $grupo | cut -d':' -f4)  

no seu script geraria uma variável contendo todos os usuários do grupo $grupo separados por vírgulas. Após essa linha,
 total_usuarios_grupo=$($(echo "$usuarios_grupo" | sed "s/\,\b/\,\n/g" | grep "\,\b" | wc -l)+1) 

retornaria o número de usuários pertencentes ao grupo, e o comando
 for i in `seq 1 $total_usuarios_grupo` ; do pertence_grupo=$(echo "$usuarios_grupo | cut -d',' -f$i); if [ "$pertence_grupo" = "$usuario_procurado"]; then comandos caso usuário pertença ao grupo; else comandos caso o usuário não pertença ao grupo; fi; done 

faria com que caso o usuário a ser testado pertencesse ao grupo fosse localizado e os devidos comandos fossem executados.


Você disse pro cara ser mais inteligigente e estudar, chamou de "meu filho", além de dizer que o cara fez gambiarra, que no contexto tende a ser interpretado negativamente. Na "minha terra", isso seria no mínimo um tom de impaciência.

Ele usou da ironia e te chamou de "o mestre". E você se doeu, o que eu até achei engraçado, mas normal de alguém que está notadamente "impaciente".

E continuou, afirmando que o cara não quis pesquisar ou pensar.

Aí eu te pergunto, como se pode afirmar algo que você não está vendo? Se o cara é iniciante, MUITA coisa ele deve estar fazendo nas escuras, não é à toa que está pedindo ajuda. Então cara, se é pra postar desse jeito que você postou, é melhor não escrever uma palavra aqui (nesse post).

Apesar do cara falar que é iniciante, você quis tratá-lo como sendo do seu nível. Deu isso, pra mim e pelo visto por mais gente, você está se queimando por besteira.

Um pouco de humildade seria bom.

Flws.





01 02



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts