Você pode fazer um desses
Leia uma linha de entrada padrão
function first
{
IFS="" read -r foo
}
echo nyi | first
ou
Leia o primeiro argumento
function first
{
foo="$1"
}
first nyi
> cat b.txt
function first
{
foo=$(SOMEMAGIC)
}
echo nyi | first
>
Pergunta : Como podemos atribuir a string "nyi" à variável "foo" dentro da função? Então, como podemos dar os dados que foram dados à função via pipeline para uma variável dentro da função?
Você pode fazer um desses
function first
{
IFS="" read -r foo
}
echo nyi | first
ou
function first
{
foo="$1"
}
first nyi
Você também pode usar cat
para consumir a entrada e depois retorná-la à atribuição.
$ first () { foo=$(cat); echo b${foo}c; }
$ echo nyi | first
bnyic