シェルスクリプトの変数って ++ でインクリメントできたんですね。
Bash – シェルのループ処理内でのインクリメント – Qiita
これも凄いがコメント(一番下)がもっと凄い。
while (( count < 10000 ));
こんなのまでできたのか、マジで速いし。
試すと (( count– )) で普通にデクリメントするね。
Ramen Timer for Ubuntu sh | PaePoi
これを使えば seq を逆順ソートとかしていたラーメンタイマーを
#!/bin/sh # カップラーメン用にどうぞ read -p 完成までの残り時間を秒で指定: count echo 止めるには Ctrl+C while (( count > 0 )); do printf "残り%02g分%02g秒 \r" $(( count / 60 )) $(( count % 60 )) (( count-- )) sleep 1 done echo できあがりぃ?
速いうえに圧倒的に可読性の良いコードになりました。
C と似た感じにするだけで随分と違うものだ。
分と秒を分けるのはコレでいいです。
Fedora の sh (Bash) のみでの動作確認ですが。
シェルが違う人は bash 指定に書き換えしてね。
しかし覚書を qiita に書き込んでいる人達はなんだろう?
それよりこういう有用なコードを詰め込んだサイトを作ってほしいな。
覚書色々 – L’Isola di Niente
自力でチビチビ作っているんだけどまだ少ないよな。。。