Ich habe ein Befehlszeilenprogramm, nennen wir es: produce_image
. Also ich kann im Terminal folgendes machen:
$ produce_image > some.jpg
$ open some.jpg #opens Preview.app
Außerdem habe ich ImageMagick
und auch installiert Xqartz
, damit ich Folgendes tun kann:
$ produce_image | display #the display is a command from ImageMagick suite
Das obige öffnet ein X11-Fenster mit dem Bild.
Ist eine solche Bildansicht wie mit display
auch mit möglich Preview.app
? suche zb nach so etwas wie:
$ produce_image | Preview.app #of course, this isn't working
$ produce_image | /Applications/Preview.app/Contents/MacOS/Preview #nor this
Ist eine Vorschau des Bildes möglich, Preview.app
ohne eine Zwischendatei zu verwenden?
Ps: natürlich kann ich einen Befehl erstellen wie zosxdisplay
tmpfile=$(mktemp /tmp/foobar.XXXXXX)
cat - > "$tmpfile"
open "$tmpfile"
rm -f $tmpfile
und verwenden Sie es als
produce_image | osxdisplay
Der Wert der Frage besteht jedoch darin, Bilder aus einer Shell-Pipe ohne Zwischendateien zu öffnen.
Versuchen
produce_image | open -a Preview.app -f
(Um ehrlich zu sein, war ich ziemlich überrascht zu erfahren, dass das funktioniert)
Dies zeigt Bilddaten von STDIN im Terminal in iTerm 2 an ( https://www.iterm2.com/documentation-images.html ):
cat file.png|printf "\e]1337;File=inline=1:$(base64)\a\n"
Die folgende Funktion zeigt ein oder mehrere Bilder im Terminal an.
ima(){ local f;for f;do printf "\e]1337;File=inline=1:$(if [[ $f = *://* ]];then curl -Ls "$f";else cat -- "$f";fi|base64)\a\n";done;}
Um Bilder mit einer maximalen Höhe von 20 Zeilen anzuzeigen, fügen Sie hinzu ;height=20
.
clt60
kein Hang
man open
und bin dann geschaut, ob-f
das auch für Nicht-Text-Dokumente funktioniert. Tara!clt60
AB
kein Hang
AB
cat index.html | open -a Preview.app -f
ichcat index.html
zur Veranschaulichung geschrieben habe. In meinem speziellen Fall ist dies eine Stream-HTML-Ausgabe vom Markdown-Prozessor