BashでI / Oなしでコマンドバーを使用しますか?

BashでI / Oなしでコマンドバーを使用しますか?

出力される姿が本当に好きですbar

ただし、このスクリプトは入出力操作にのみ使用されます。

視覚的なフィードバックを提供しながら、睡眠代替品としてどのように使用できますか?

sleep 10

ベストアンサー1

を使用してこれを行う方法はありませんbar。ただし、同じことを行い、ニーズに合った他のコマンドに興味があるかもしれません。

方法 #1 - 偽装

この方法は、以前に画面にあった内容をより大きな進行状況バーで上書きします。シンプルだが効果的。

はいex.bash:

#!/bin/bash

echo -ne '#####                     (33%)\r'
sleep 1
echo -ne '#############             (66%)\r'
sleep 1
echo -ne '#######################   (100%)\r'
echo -ne '\n'

方法#2 - パイプラインビュー

このコマンドはpv進行状況バー機能を提供します。この投稿でより詳細な例を見ることができます。知っておくべきUnixユーティリティ:パイプビューア

$ pv access.log | gzip > access.log.gz
611MB 0:00:11 [58.3MB/s] [=>      ] 15% ETA 0:00:59

方法#3 - スピナー

次のコード例を使用して、単純なループで独自の「スピナー」を構築できます。ループ内に必要なコマンドを含めることができます。このコードは、次の記事から取得したものです。Bashでスピナーを作ることはできますか?

#!/bin/bash

sp='/-\|'
printf ' '
for i in $(seq 3); do
  printf '\b%.1s' "$sp"
  sp=${sp#?}${sp%???}
  sleep 1
done
echo ''

方法 #4 - ダイアログ

dialog必要なことを行うコマンドがあります。グラフィックダイアログを使用しますがncursesに基づいているため、ncursesがサポートされている限り、ほとんどの端末および/またはスクリプトで機能します。君はみんな見ることができるdialogプロジェクトウェブサイトの文書

スクリーンショット

SS仕様

引用する

おすすめ記事