The read from a pipe is executed in a subshell, and thus the varables read are lost when the subshell finishes. Neither Mount nor Auto are set within the if construct. I'd be surprised if your output really showed "Mount"
lsfs -v nfs |
while read Name Nodename Mount VFS Size Options Auto Accounting
do
if [ "$Auto" = no ]
then
echo "$Mount NO"
else
echo "$Mount YES"
fi
done
To exclude the header line
lsfs -v nfs | {
read header
while read Name Nodename Mount VFS Size Options Auto Accounting
do
if [ "$Auto" = no ]
then
echo "$Mount NO"
else
echo "$Mount YES"
fi
done
}