Usando ARGV como login
Publicado por Jonatan Gomes (última atualização em 26/10/2010)
[ Hits: 6.696 ]
Homepage: Em construção xD
Bom galera, eu tive um enorme problema para entender ARGV porque não conseguia encontrar nenhum tutorial ou apostila mencionando o que era claramente parâmetros --', mas graças a uns "linuxer's", com muita paciência eu consegui compreender, então fiz esse script simples usando ARGV como o Login, simples mas é grandinho xD, exemplo: você se cadastra e usa .txt para guardar os dados e para logar é só iniciar novamente o script usando parâmetros para seu login, exemplo:
$ perl loginargv.pl R4$T4 123456
Neste caso meu login é R4$T4 e minha senha é 123456, entenderam a jogada?
__R4$T4__
#!/usr/bin/perl $ver="v. 1.0"; $so; # Variaveis # Maioria tudo <STDIN>... $loginW; $senhaW; @dadosW; @dadosC; $nomearquivoW; $pasta; $clear; $reg; $confirma; ##_____________________________________________## $#ARGV+=1; # Porque acrescentar 1 no total de Paramentros ARGV? # Porque o numero inicial de paramentros ARGV e -1. print "\n+---------------[©R4\$T4]---------------+\n"; print "|-------------------------------$ver--|\n"; print "| |\n"; print "| Cadastro/login usando ARGV |\n"; print "| |\n"; print "| -===Coded By R4\$T4 ===- |\n"; print "+---------------------------------------+\n\n"; print "Informe seu Sistema Operacional:\n\n"; print "1- Linux\n"; #porque isso? simples porque usei comandos SYSTEM e tem variações entre os dois S.Os print "2- Ruindows\n"; chomp ($so= <STDIN>); if (($so > 2) || ($so < 1)){ print "Se voce colocar 3,4,5... como opcao obvio que vai dar erro, sem ignorancia\n"; exit; } if ($#ARGV > 0) #se tiver algum parametro qualquer vai ser considerado login { if ($so == 1) { system ("clear"); if (!-e "$ARGV[0]$ARGV[1].txt"){ print "Usuario nao cadastrado\n"; exit; } open($BD, "<$ARGV[0]$ARGV[1].txt"); while (<$BD>){ $confirma= $_; } close ($BD); @dadosC= split (/:/,$confirma); print "Hello! $dadosC[0] senha $dadosC[1]\n"; print "Teve competencia para realizar um cadastro\n"; print "voce e foda! linuser"; } if ($so == 2) { system ("cls"); if (!-e"c:/$ARGV[0]$ARGV[1].txt"){ print "#________Usuario nao cadastrado ou Login/senha incorreto[a]________# \n"; exit; } open($BD, "<c:/$ARGV[0]$ARGV[1].txt") ; while (<$BD>){ $confirma= $_; } close ($BD); @dadosC= split (/:/,$confirma); print "\tHello! $dadosC[0] senha $dadosC[1]\n"; print "\tTeve competencia para realizar um cadastro\n"; print "\n\n\t####Mas pelo amor de Linus Troque esse S.O.###"; } } if ($#ARGV ==0 ) #se não tiver nenhum parametro obviamente sera considerado cadastro { if ($so == 1) { system ("clear"); $pasta=""; $clear="clear"; } if ($so ==2) { system ("cls"); $pasta= "c:/"; $clear= "cls"; } system ("$clear"); print "\n+---------------[©R4\$T4]---------------+\n"; print "|-------------------------------$ver--|\n"; print "| |\n"; print "| Cadastro/login usando ARGV |\n"; print "| |\n"; print "| -===Coded By R4\$T4 ===- |\n"; print "+---------------------------------------+\n\n"; sleep 3; print "Coloque seu Login:\t"; chomp ($loginW= <STDIN>); print "\nColoque sua senha:\t"; chomp ($senhaW= <STDIN>); push(@dadosW, $loginW,$senhaW); $nomearquivoW= $loginW; $nomearquivoW.= $senhaW; $reg= join(":",@dadosW); #pra quem nao sabe "join" imprime no documento os elementos da matriz open (BD, ">$pasta$nomearquivoW.txt"); # com ":" entre eles e é bem útil para usar "split" para separar #fica mais fácil manipular os dados. print BD "$reg"; close (BD); if (-e "$pasta$nomearquivoW.txt"){ print "\n\n\n\____Cadastro Efetuado com SUCESSO!!!____ \n"; sleep 2; system ($clear); print "###Agora reinicie o programa usando parametros ARGV como login###\n"; print "\n\n\nExemplo \"perl loginargv.pl rasta 123456\" "; } #Nota: acho que está meio bagunçado porem não usei nada incompreencível #então creio que será de fácil análise. #__R4$T4__ }
Script para adicionar e remover usuários no IMSPECTOR
Contagem de linhas em Perl (= wc -l)
Adiciona-Altera senhas/usuarios no sistema
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
Flatpak: remover runtimes não usados e pacotes
Mudar o gerenciador de login (GDM para SDDM e vice-versa) - parte 2
Criar um servidor caseiro para hospedar sites proprios (4)
Ubuntu 24.04 e problemas de acesso à rede VPN [RESOLVIDO] (9)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta