ターミナルでCUIを操作してたりすると、たまーにスピナー(棒がくるくる回ってるやつ)が表示されるコマンドがあったりする。その他にも、zshのtab補完のようなプロンプトの下でアニメーションする処理もある。 こういった、ターミナル上で文字を使って動く処理は、果たしてどうやって作ってるのだろう?と思ったので、簡単に作り方をまとめてみることにした。

1. 「\r(復帰コード)」を使う

1行のアニメーションであれば、一番手軽な方法。 bashやzshでは、\rキャリッジリターン(復帰コード) という制御コードを指定できる。この制御コードがあった場合、カーソルを行頭に戻すという処理が...