Visa obesvarade inlägg | Visa aktiva trådar Aktuellt datum och tid: 27 maj 2020, 12:20



Svara på tråd  [ 3 inlägg ] 
 Fråga om variabeltilldelning/perl/bash [LÖST] 
Författare Meddelande

Blev medlem: 08 mar 2010, 00:21
Inlägg: 12
OS: Ubuntu
Svara med citat
 Fråga om variabeltilldelning/perl/bash [LÖST]  Tråden är löst
Hej,

Om man betraktar följande exempel som jag hittat på nätet:

$ password="tjorven"
$ pass=$(perl -e 'print crypt($ARGV[0], "password")' $password)
$ echo $pass

Så dyker det genast upp en fråga i mitt huvud;
perl:s crypt-funktion verkar ta argumenten crypt(pwd, salt)

Men vad gör variabeln $password i detta exempel? Varför står den efter crypt-funktionen i bash:s command substitution? $(blablabla $password)
Krypterar den "tjorven" i detta fall?
Men varför inte ha "tjorven" som första argument till perl-funktionen?

Tacksam för förklaring

/ Hans


Senast redigerad av hanssolo 14 mar 2010, 00:20, redigerad totalt 2 gånger.



11 mar 2010, 16:54
Profil
Användarvisningsbild

Blev medlem: 06 feb 2007, 20:51
Inlägg: 5211
OS: Debian
Utgåva: Vet inte/ingen utgåva passar
Svara med citat
Inlägg Re: Fråga om variabeltilldelning/perl/bash
Hejsan!

Det var ett kul exempel, låt mig göra ett försök.

Kod:
$ pass=$(perl -e 'print crypt($ARGV[0], "password")' $password)

$password är första argumenteten till perl skriptet print crypt($ARGV[0], "password"). Det är det som hamnar i $ARGV[0] Det gör "password" till saltet.

Citat:
Men varför inte ha "tjorven" som första argument till perl-funktionen?

Därför att man vill använda sig av en variabel. Det går utmärkt, att skriva tjorven där du säger. Se bara till att ha fnuttarna rätt...

Här har du ett annat sätt som man kan skriva samma sak.

Kod:
pass=$(perl -e "print crypt($password, \"password\")")


Notera att jag har bytt ut fnuttarna och tagit bort ARGV och skrivit password istället i crypt. Det är för att skalet evaluerar variabler innom dubbelfnuttar men inte innom enkelfnuttar.


11 mar 2010, 23:26
Profil

Blev medlem: 08 mar 2010, 00:21
Inlägg: 12
OS: Ubuntu
Svara med citat
Inlägg Re: Fråga om variabeltilldelning/perl/bash
Tjena,

Tackar (igen) för din förklaring. Börjar gilla dig riktigt mycket nu. Keep up!
Hade inte tänkt på att betrakta $password som det första argumentet till print-funktionen utan såg det som ett argument (eller iaf något som tillhörde) bash:s kommando-substitution $(perlgrej $password).

/ Hasse


14 mar 2010, 00:17
Profil
Visa inlägg nyare än:  Sortera efter  
Svara på tråd   [ 3 inlägg ] 

Vilka är online

Användare som besöker denna kategori: Inga registrerade användare och 1 gäst


Du kan inte skapa nya trådar i denna kategori
Du kan inte svara på trådar i denna kategori
Du kan inte redigera dina inlägg i denna kategori
Du kan inte ta bort dina inlägg i denna kategori
Du kan inte bifoga filer i denna kategori

Sök efter:
Hoppa till:  
Main Engineer for phpBB3: Bertie at phpBB.com © 2000 - 2002, 2005 - 2007, the Group behind the Open Source code of phpBB.
Designed by STSoftware, modified by Katt, Konservburk & Peetra. Swedish translation by Peetra & phpBB Sweden © 2006-2011