echo じゃなくて printf 使うとか

printf 'TAB\tTAB\n'

# 少なくとも dash/bash/zsh では printf は shell の builtin function

そういや、ファイルの中に

-n

だけの行があって、

cat hoge.txt | while IFS= read str
do
echo "$str"
done

ってしたらその行が出力されなくてハマったことがあった…