93578
Goto Top

Ein Wort in MD5-Hash umwandeln und dieses Hash an 2 Skript übergeben. Wie?

Ich habe 1 Skript:

- suche.sh

Dieses Skript sucht nach MD5-Hashwert in einer Datenbank.

Es wird so verwendet:

 ./suche.sh "md5-Wert"  

Nun will ich das ganze so verändern, dass ich nicht bei jeder Anfrage manuell den MD5-Hashwert berechnen muss, sondern einfach mit einem neuen Skript (md5.sh) den MD5-Hashwert automatisch ermittle und diesen dann an das Skript "suche.sh" übergebe.


"md5.sh" kann man evtl so realisieren::

printf "Wort" | md5sum  
Korrekt?

Aber wie kann es den berechneten MD5-Hash an das Skript "suche.sh" übergeben, damit er startet? Also Quasi aus Bash 1 Bash 2 starten?

Kann mir jemand helfen?

Content-Key: 393696

Url: https://administrator.de/contentid/393696

Printed on: April 23, 2024 at 20:04 o'clock

Member: Lochkartenstanzer
Solution Lochkartenstanzer Nov 23, 2018 updated at 14:55:46 (UTC)
Goto Top
Moin,

Dafür muß man kein "Skript" schreiben.

man xargs

printf "Wort" | md5sum  | xargs ./suche.sh 

lks
Mitglied: 93578
93578 Nov 23, 2018 updated at 15:05:02 (UTC)
Goto Top
Danke! Das ist schon was. Leider kann ich nicht jedes Mal jedem Nutzer erzählen, wie er nun eine korrekte Abfrage schreibt. Deswegen wollte ich ja den ersten Skript, wo er einfach "geführt" wird. So was wie:

Tippen Sie hier Ihr Word ein und drucken Sie die "Enter"-Taste.  

oder

md5.sh "Wort"  

Dann tippt er da sein Wort ein und im Hintegrund werden automatisch Skripts 1 und 2 gestartet. Wie kann ich das tun?
Member: Lochkartenstanzer
Lochkartenstanzer Nov 23, 2018 updated at 15:10:27 (UTC)
Goto Top
Du kannst die Zeile natürlich auch einfach in ein "Skript" schreiben.

Alternativ in bash_aliases eine Funktion definieren:

 md5suche() { printf $1 | md5sum  | gawk ' { print $1 } '  | xargs /pfad/zur/suche.sh  ; }

Und dann einfach mit

 md5suche "wort-für-haswert"  

suchen.

lks
Mitglied: 93578
93578 Nov 23, 2018 at 15:07:35 (UTC)
Goto Top
Also die Zeile:

md5suche() { printf "Wort" | md5sum  | gawk ' { print $1 } '  | xargs /pfad/zur/suche.sh  ; }  

als Skript 1 benutzen? Korrekt?
Member: Lochkartenstanzer
Lochkartenstanzer Nov 23, 2018 updated at 15:11:32 (UTC)
Goto Top
Zitat von @93578:

Also die Zeile:

md5suche() { printf $1 | md5sum  | gawk ' { print $1 } '  | xargs /pfad/zur/suche.sh  ; }  

als Skript 1 benutzen? Korrekt?

Nein. Das in /etc/bash_aliases oder ~/.bashrc reinschreiben.

dann kann man mit

md5suche blabla die suche starten.

lks

Beachte: das erste $1 ist der Parameter für die Funktion. Das zweite $1 ein Parameter von gawk!
Mitglied: 93578
93578 Nov 23, 2018 at 15:11:19 (UTC)
Goto Top
Aber was ist mit "
printf "Wort  
"? Da sind doch jedes Mal andere Wörter drin???
Member: Lochkartenstanzer
Lochkartenstanzer Nov 23, 2018 at 15:11:55 (UTC)
Goto Top
Zitat von @93578:

Aber was ist mit "
printf "Wort  
"? Da sind doch jedes Mal andere Wörter drin???


War ein Tippfehler. Ist korrigiert.

lks
Mitglied: 93578
93578 Nov 23, 2018 updated at 15:16:36 (UTC)
Goto Top
"Das in /etc/bash_aliases oder ~/.bashrc reinschreiben"

Mir wäre es lieber so was als extra-Bash ausführen. Da verstehe ich nichts... face-sad
Member: Kraemer
Kraemer Nov 23, 2018 at 15:25:44 (UTC)
Goto Top
Ändere doch einfach dein suche.sh dahingehend ab, dass es keinen Hash mehr erwartet, sondern einen Suchbegriff.
Mitglied: 93578
93578 Nov 23, 2018 at 15:26:13 (UTC)
Goto Top
Wie kan ich das realisieren? Das soll doch relativ einfach sein... Nur ich kenne mich mit Linux nicht aus...
Member: Kraemer
Kraemer Nov 23, 2018 at 15:26:50 (UTC)
Goto Top
Zitat von @93578:

Wie kan ich das realisieren? Das soll doch relativ einfach sein... Nur ich kenne mich mit Linux nicht aus...
dann lass die Finger davon. Kann nur schlimm werden
Mitglied: 93578
93578 Nov 23, 2018 updated at 15:39:17 (UTC)
Goto Top
Kann ich leider nicht. Die Datenbank ist mit Linux-Bashes realisiert und wird über Linux-Bashes upgedatet. Leider hat das mein Vorgänger geschrieben. Es läuft alles perfekt, nun wollte ich nicht jedes Mal ein Wort in Hash per Hand umwandeln, sondern das zu automatisieren. Früher hatten die noch 5-10 Abfragen pro Woche, heute habe ich ca. 30-40, Tendenz steigend. face-sad Und die ganze 80 GB in eine SQL-Datenbank übertragen und komplett neu gestalten habe ich keine Lust und keine Zeit.
Member: Kraemer
Kraemer Nov 23, 2018 at 16:08:34 (UTC)
Goto Top
Zitat von @93578:

"Das in /etc/bash_aliases oder ~/.bashrc reinschreiben"

Mir wäre es lieber so was als extra-Bash ausführen. Da verstehe ich nichts... face-sad
kein Problem: https://wiki.ubuntuusers.de/alias/
Mitglied: 93578
93578 Nov 23, 2018 updated at 16:48:18 (UTC)
Goto Top
So.. Habe ich wieder was gelernt. Danke für die Grundidee mit xarg!!!

md5.sh

#!/bin/bash
echo 'Tippen Sie Ihr Wort ein:'  
read varname
printf "$varname" | md5sum | xargs ./suche.sh