Chciałbym móc wygenerować HTML, a następnie przesłać go do programu, który go wyrenderuje, mniej więcej tak:
for i in 1 2 3
do
for j in a b c
do
echo "<table border="1"><tr><td>$i</td><td>$j</td></tr></table>"
done
done | /usr/bin/firefox
Niestety Firefox nie może renderować danych przesyłanych strumieniowo ze standardowego wejścia. Google Chrome też nie może. lynx
może, ale kto chce tego użyć?
Próbowałem utworzyć nazwany potok, otwierając go w chrome i / lub Firefox, a następnie przesyłając dane do niego - ale przeglądarka nie zaktualizowała się, gdy wysłałem dane przez nazwany potok.
Czy są jakieś przeglądarki tekstowe, które będą renderować HTML ze standardowego wejścia? Dane wyjściowe nie muszą być błyskotliwe, najbardziej interesuje mnie to, aby dane z ogranicznikami były nieco bardziej czytelne w locie.
Edytować:
Próbowałem użyć podstawienia procesu bash, np. firefox <(sh /tmp/tablegen.sh)
To też nie działało. W najgorszym przypadku mogę wyprowadzić dane do pliku tymczasowego, renderować, a następnie usuwać, ale wolałbym nieco bardziej eleganckie rozwiązanie.
Odpowiedzi:
Z jednej z odpowiedzi na to pytanie znalazłem
bcat
:Teraz mogę uruchomić taki skrypt:
... a wynikowy wynik HTML otwiera się w nowej karcie Firefox!
W Ubuntu i innych dystrybucjach Linuksa opartych na Debianie można zainstalować za
bcat
pomocą tego polecenia:źródło
sudo gem install bcat
. :-)