2 Stimmen

Shell-Skripte und der Befehl md5/md5sum: Sie müssen entscheiden, wann Sie welchen Befehl verwenden

Ich poste zum ersten Mal hier, also seid nachsichtig mit mir :)

Ich bin mir ziemlich sicher, dass dies noch niemand bei der Recherche zu dieser Frage gefragt hat.

Kurzfassung: Wie kann ich einem Shell-Skript sagen, dass es den einen oder den anderen Befehl verwenden soll, je nachdem, auf welchem Rechner ich das Shell-Skript ausführe? Beispiel: Auf Box 1 möchte ich Folgendes ausführen md5 file.txt . In Box 3 möchte ich Folgendes ausführen md5sum file.txt . Ich denke, es ist ein IF-Befehl, bei dem die Ausgabe von md5 ein Fehlschlag ist, verwenden Sie md5sum stattdessen. Ich weiß nur nicht, wie ich überprüfen kann, ob die Ausgabe von md5 ein Fehlschlag ist oder nicht


Lange Version: Ich habe 3 Boxen, mit denen ich arbeite. Box 1 und 3 sind die Empfänger einer Datei aus Box 2, und sie erhalten die Datei, wenn ich ein Skript auf Box 1/3 wie folgt aufrufe: ftpget.sh file.txt

Ich habe ein Shell-Skript, das einen FTP-GET ausführt und eine Datei aus Box 2 abruft. Es führt dann einen md5-Test für die Quelldatei aus Box 2 und die Zieldatei durch, die sich auf Box 1 oder 3 befindet, je nachdem, von welcher Box aus ich das Skript ausgeführt habe. Die Hashes müssen natürlich übereinstimmen.

Das Problem ist folgendes: Der Code ist so geschrieben, dass er md5 und während Box 1 md5 verwendet, verwendet Box 3 md5sum . Wenn ich also das Skript aus Box 1 ausführe, funktioniert es einwandfrei. Wenn ich das Skript von Box 3 aus ausführe, schlägt es fehl, weil Box 3 md5sum und nicht md5 verwendet.

Also habe ich mir überlegt: Wie kann ich das am besten handhaben? Ich kann nichts installieren, da ich kein Administrator bin, und die Leute, die den Rechner verwalten, würden es wahrscheinlich sowieso nicht für mich tun. Könnte ich einfach einen Alias in meinem .profile erstellen, der etwa so lautet: alias md5="md5sum" ? Auf diese Weise wird das Skript, wenn es auf Box 3 läuft, Folgendes ausführen md5 file.txt aber das System wird wirklich ausführen md5sum file.txt seit ich den Alias erstellt habe.

Was denken Sie? Bessere Ideen? :)

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X