Usando ARGV como login
Publicado por Jonatan Gomes (última atualização em 26/10/2010)
[ Hits: 6.965 ]
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__
}
Inserindo sites em Lista do Squid
Adiciona-Altera senhas/usuarios no sistema
Script para adicionar e remover usuários no IMSPECTOR
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Novos apps de produtividade, avanços em IA e distros em ebulição agitam o universo Linux
Como instalar o repositório do DBeaver no Ubuntu
Como instalar o Plex Media Server no Ubuntu
Digitando underscore com "shift" + "barra de espaços"
Como ativar a lixeira e recuperar aquivos deletados em um servidor Linux
Como mudar o nome de dispositivos Bluetooth via linha de comando
O programa assinador digital (0)
dpkg: erro: gatilho de arquivo duplicado chamado pelo arquivo de nome (6)
Instalação não está resolvendo as dependencias (2)
Captação de áudio no zorin linux começa a diminuir com o tempo (5)









