下記のスクリプトで、
なぜcutはsortの出力のみを処理するのですか?
どうやってcatの出力とsortの出力を区別しているのですか?

#!/bin/sh
cat a.txt |
if [ "$MAILCHECK" = 10 ]
then
sort b.txt | cut -d, -f1
sed 's/hoge/fuga/'
else
sed 's/foo/bar/'
fi