次のようになります:(Fedora14 / bash)
#!/bin/bash for i in {0..10..1}; do echo -e "$i""\c" echo -e "\n\r" sleep 1 done
しかし、それは機能しません。目的:このように、ただし「クリア」なし:
#!/bin/bash for i in {0..10..1}; do echo -e "$i" sleep 1 clear done
したがって、画面全体を削除せずに+1の数値を出力するカウントスクリプトカウントされている行のみが削除されるため、たとえば、美しい「プログレスバー」が表示されます。
回答
for i in {0..15}; do echo -ne "$i""\r"; sleep 1; done; echo
デフォルトのステップ幅1に..1は必要ありません。
echo -n
改行を防ぎます。
\r
が行頭に戻り(改行なし-\n
)、以前使用していた「 \ b “は、1つの文字をバックステップするためのもので、複数の桁番号がある場合は便利ではありません。 rozcietrzewiaczに感謝します。
回答
このようなものをお探しですか?
for i in {1..10}; do printf "\r%2d" $i sleep 1 done printf "\n"