I want the terminal to show some kind of process bar based on time, like 1% every 60 seconds for example.
How to Create a Fake Process Bar Using Command Line
command line
command line
I want the terminal to show some kind of process bar based on time, like 1% every 60 seconds for example.
Best Answer
Create a progress bar in bash lists approaches to get a progress bar, so I'll concentrate on the How to fake part here. I'll use 2 seconds instead of your 60 here just for testing, adjust the
sleep
value to your exact needs.Using
dialog
,whiptail
orzenity
(GUI)This
for
loop loops1 over the numbers one to hundred andecho
s them every2
seconds, the output is then piped todialog
, which shows the number as the progress on a progress bar. This approach works forwhiptail
andzenity --progress
(GUI) as well.dialog
's output looks like this with a colored progress bar using 'curses' in text mode:Using
pv
This loop is very similar, just that it prints only a newline (=1 byte of data) every
2
seconds,pv
is then told to expect exactly100
bytes of data and show ap
rogress bar. In a terminal window with a width of 80 characters the output looks like this:Constructing your own progress bar
With a simple loop you can also construct your own progress bar. Here are some examples that just print 100
#
in one line, one per 2 seconds:1 Look, a Polyptoton!