Bash-Skript mit Netzwerkanforderung in einer reinen LSB-Umgebung

Bash-Skript mit Netzwerkanforderung in einer reinen LSB-Umgebung

Soweit ich die LSB-Dokumentation verstehe, sind weder wget noch netcat Standardtools, die in einer LSB-Umgebung immer verfügbar sind.

Gibt es eine andere Möglichkeit, eine HTTP-Anfrage zu stellen, ohne von etwas anderem als LSB abhängig zu sein?
Welches wäre das sicherste Tool, von dem ich abhängig sein könnte, wenn ich es den Benutzern meines Tools so einfach wie möglich machen möchte?

Antwort1

LSB ist einfach Linux – und das könnte ein eingebettetes Gerät ohne Netzwerk sein. Es besteht also keine Notwendigkeit, HTTP in LSB zu definieren.

Ansonsten wgetsollte es in den meisten Distributionen Standard sein (SuSE verwendet beispielsweise wget in SuSEregister). Ein anderes Tool könnte verfügbar sein curl– aber Sie können sich nicht darauf verlassen, dass diese Tools verfügbar sind.

Wenn Sie es also verwenden möchten, erstellen Sie ein entsprechendes Paket und definieren Sie eine Abhängigkeit (erforderlich: wget).

Ich sehe dafür keine andere Möglichkeit.

Antwort2

Ich sehe, dass das LSB sowohl Perl als auch Python enthält ... Python enthält zumindest HTTP-Tools in der Standardbibliothek. Ich habe nicht untersucht, ob das LSB libwww-perl vorschreibt.

Wenn Sie nichts selbst schreiben möchten und mit der Ausgabe an zufrieden sind stdout, können Sie Folgendes tun:

python -murllib http://example.com/

Und wenn Sie wirklich motiviert sind, können SieSchreiben Sie einen einfachen HTTP-Client in Bash.

verwandte Informationen