如何在标准输入上存储提供给函数的数据?

pep*_*ite 0 shell pipe input function

> cat b.txt 
function first
    {
    foo=$(SOMEMAGIC)
    }

echo nyi | first 
> 
Run Code Online (Sandbox Code Playgroud)

问题:我们如何将“nyi”字符串赋予函数内的“foo”变量?那么我们如何将通过管道提供给函数的数据传递给函数内部的变量呢?

ctr*_*lor 5

你可以做其中之一

读取一行标准输入

function first
{
    IFS="" read -r foo
}

echo nyi | first
Run Code Online (Sandbox Code Playgroud)

或者

阅读第一个参数

function first
{
    foo="$1"
}

first nyi
Run Code Online (Sandbox Code Playgroud)