> 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 fornecer os dados que foram fornecidos à função via pipeline para uma variável dentro da função?
Responder1
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
Responder2
Você também pode usar cat
para consumir a entrada e depois devolvê-la à atribuição.
$ first () { foo=$(cat); echo b${foo}c; }
$ echo nyi | first
bnyic