Ich muss programmgesteuert einige Unix-Befehle ausführen und die Ausgabe in einer Bilddatei erhalten, das Format könnte png
oder jpeg
( jpg
) sein.
Die Befehle werden auf einem AIX-Computer (IBM * nix) ausgeführt. Ich habe keine Berechtigung zum Installieren neuer Pakete, aber ich denke, es gibt eine Möglichkeit, dies mithilfe einer Pipeline und Umleitungen mit den Standardpaketen des Betriebssystems zu tun.
Leider konnte ich keine Methode finden, um dies zu tun.
command-line
terminal
pipe
aix
image-manipulation
Fernando Martinez
quelle
quelle
Antworten:
Für Befehle mit geringer Ausgabe und kurzen Zeilen können Sie dies einfach mit einer Kombination aus a2ps, Ghostscript und Imagemagick tun:
Hier wird die Ausgabe des Befehls
ls
als Beispiel verwendet.a2ps
Erstellt ein Vektorbild des Textes. Ghostscript rastert es in eine PNG-Grafik (verwenden Sie kein JPEG, es ist das falsche Grafikformat dafür, es ist nur für fotorealistische Bilder nützlich). Schließlich wird imagemagick verwendet, um den umgebenden Leerraum zu entfernen. Lesen Sie die Manpages und passen Sie die Parameter nach Bedarf an.Wenn die Programme nicht installiert sind, können Sie sie
--prefix=/home/me/.local
als Benutzer ohne Administratorrechte kompilieren und installieren .EDIT: Wie in einem Kommentar erwähnt, ist eine Lösung ohne die Abhängigkeit von
a2ps
und Ghostscript die folgende.quelle
a2ps
und einfach verwendenconvert label:"$( ls )" ls_output.png
. Ich kann jedoch nicht über die Ästhetik sprechen.noexec
, aber ich habe noch nie ein System in der Produktion gesehen, bei dem die Benutzer keine Ausführungsrechte in ihrem Home-Verzeichnis hatten. Sie sollten das noch einmal überprüfen.convert
aus derimagemagick
Suite.