Presumivelmente, o seu navegador está interpretando o arquivo para o qual você está apontando como HTML. Em HTML, uma nova linha não é \n
, mas a tag <br>
, então você precisa adicionar isso. Por exemplo:
#!/usr/bin/env bash
. ~/bin/getvars
if [ ! -z "$LN" ]; then
grep "$LN" attendance | sed 's/$/<br>/'
elif [ ! -z "$DATE" ]; then
grep "$DATE" attendance | sed 's/$/<br>/'
else
echo No Records Found
fi
No meu Debian, o firefox interpreta \n
como quebras de linha se o arquivo não tem extensão .html
(eu tentei sem extensão e .txt
), então isso pode ser uma solução alternativa, mas não tenho idéia de como seria portável estar.
Uma alternativa melhor seria torná-la uma página HTML adequada, usar <pre>
tags e substituir todos os <
e >
por seus equivalentes em HTML:
#!/usr/bin/env bash
. ~/bin/getvars
echo "<HTML><BODY><pre>"
if [ ! -z "$LN" ]; then
grep "$LN" attendance | sed 's/>/\>/g;s/</\</g;'
elif [ ! -z "$DATE" ]; then
grep "$DATE" attendance | sed 's/>/\>/g;s/</\</g;'
else
echo No Records Found
fi
echo "</pre></BODY></HTML>