> 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