> 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