> cat b.txt
function first
{
foo=$(SOMEMAGIC)
}
echo nyi | first
>
Pregunta: ¿Cómo podemos darle la cadena "nyi" a la variable "foo" dentro de la función? Entonces, ¿cómo podemos pasar los datos que se le dieron a la función a través de una canalización a una variable dentro de la función?
Respuesta1
Puedes hacer uno de estos
Leer una línea de entrada estándar
function first
{
IFS="" read -r foo
}
echo nyi | first
o
Lea el primer argumento.
function first
{
foo="$1"
}
first nyi
Respuesta2
También puede utilizar cat
para consumir la entrada y luego devolverla a la tarea.
$ first () { foo=$(cat); echo b${foo}c; }
$ echo nyi | first
bnyic