> cat b.txt
function first
{
foo=$(SOMEMAGIC)
}
echo nyi | first
>
Frage: Wie können wir die Zeichenfolge „nyi“ an die Variable „foo“ innerhalb der Funktion übergeben? Wie können wir also die Daten, die der Funktion über eine Pipeline übergeben wurden, an eine Variable innerhalb der Funktion übergeben?
Antwort1
Sie können eines davon tun
Eine Zeile der Standardeingabe lesen
function first
{
IFS="" read -r foo
}
echo nyi | first
oder
Lesen Sie das erste Argument
function first
{
foo="$1"
}
first nyi
Antwort2
Sie können cat
die Eingabe auch verwenden und sie dann in die Zuweisung zurückgeben.
$ first () { foo=$(cat); echo b${foo}c; }
$ echo nyi | first
bnyic