くだらない質問はここに書き込め!なんでもアリ28

このエントリーをはてなブックマークに追加
標準入力を shell script を通して
別のプロセスにわたそうと思ってるのですが、いい方法ありますか?
fifo 使えばいいかと思って、こんなの作りましたが、駄目です。
途中で切れてしまいます。

----- ここから
#!/bin/sh
FIFO=/tmp/my-fifo.tmp
mkfifo $FIFO
to_fifo (){
while read LINE ;do
echo "$LINE" > $FIFO
done
rm $FIFO
}
less < $FIFO &
to_fifo
------- ここまで

下のなら動くので、上の to_fifo がまずいと思うのですが。
----- ここから
#!/bin/sh
FIFO=/tmp/my-fifo.tmp
mkfifo $FIFO
to_fifo (){
cat SAMPLE-TEXT > $FIFO # <-- ここが違う
rm $FIFO
}
less < $FIFO &
to_fifo
------- ここまで