less than 1 minute read

echoコマンドに\rを表示させるとキャリッジリターンをしてくれる。

for i in $(seq 3); do
  echo -n "\rrunning $(date +%H:%M:%S)"
  sleep 1
done

上のようなスクリプトを実行すると、1秒ごとに表示が更新されるように見える。 シェルスクリプトで長い時間実行するときのステータス表示などに使える・・かもしれない。

-nを付けて末尾の改行を抑制している。これがないと意図した表示にならない。

タグ: ,

カテゴリー:

更新日時: