パイプで繋いだwhile構文の条件にreadコマンドを使うと、すこし複雑な文字列を先に生成してから処理できる

パイプで繋いだwhile構文の条件にreadコマンドを使うと、すこし複雑な文字列を先に生成してから処理できる

実際のところ

なんのこっちゃと思うので、実例を一つ。

この例では色付き文字ですが、何日か跨ぎの日付だとかを先に生成してから渡すことができますね。
全部whileにするなり、forでやるなりという方法もありますが分離しといた方がメンテナンス性がいいですし、なによりUNIX WAYな感じになります。