標準入力として関数に提供されたデータを保存するには?

標準入力として関数に提供されたデータを保存するには?
> cat b.txt 
function first
    {
    foo=$(SOMEMAGIC)
    }

echo nyi | first 
> 

質問:関数内で文字列「nyi」を「foo」変数にどのように割り当てますか?では、関数にパイプで接続されたデータを関数内の変数に渡すにはどうすればよいですか?

ベストアンサー1

次のいずれかを実行できます。

標準入力1行を読む

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

echo nyi | first

または

最初のパラメータを読む

function first
{
    foo="$1"
}

first nyi

おすすめ記事