> cat b.txt
function first
{
foo=$(SOMEMAGIC)
}
echo nyi | first
>
Вопрос: Как мы можем передать строку "nyi" переменной "foo" внутри функции? Так как же мы можем передать данные, которые были переданы функции через конвейер, переменной внутри функции?
решение1
Вы можете сделать одно из этого
Прочитать одну строку стандартного ввода
function first
{
IFS="" read -r foo
}
echo nyi | first
или
Прочитайте первый аргумент
function first
{
foo="$1"
}
first nyi
решение2
Вы также можете использовать его cat
для получения входных данных и последующего их возврата в задание.
$ first () { foo=$(cat); echo b${foo}c; }
$ echo nyi | first
bnyic