¿Cómo leer la entrada de mutliline de stdin en variable y cómo imprimir una en shell (sh, bash)?
Lo que quiero hacer es lo siguiente:
leer en la entrada de múltiples líneas destdin
en variableA
hacer varias operaciones enA
tuboA
sin perder los símbolos delimitadores (\n
,\r
,\t
, etc) a otro comandoEl problema actual es que no puedo leerlo conread
comando, porque deja de leer en nueva linea.
Puedo leer stdin concat
, Me gusta esto:
my_var=`cat /dev/stdin`
, pero entonces no sé cómo imprimirlo. De modo que la nueva línea, la pestaña y otros delimitadores todavía están allí.
Mi guión de muestra se ve así:
#!/usr/local/bin/bash
A=`cat /dev/stdin`
if [ ${#A} -eq 0 ]; then
exit 0
else
cat ${A} | /usr/local/sbin/nextcommand
fi