A pacman like progress bar in bash.
A pacman like progress bar in bash that aims to provide an quick and easy to use progress bar to put in your shell code.
ILoveCandyoption to have progress bar like pacman does.
- Personalize and create your own progress bar theme.
No installation is needed, just place the
progressbar.sh file in your working
directory and enjoy!
curl https://raw.githubusercontent.com/roddhjav/progressbar/v1.0/progressbar.sh > progressbar.sh
However if you want to run the test, you need to clone this repository:
git clone https://github.com/roddhjav/progressbar cd progressbar make test
To use the progressbar, you just need to source it in your bash script.
progressbar is a bash function that takes up to 6 arguments:
titleBar title (mandatory)
currentCurrent progress of the bar (mandatory)
totalTotal bar progress (optional)
#!/bin/bash # Loading progressbar source progressbar.sh || exit 1 start=0 end=25 for ii in $(seq $start $end); do sleep 0.1 progressbar "My progress bar" $ii $end done echo
My progress bar [###############################] 100%
There are two themes provided:
- The default theme used by pacman,
- The ILoveCandy theme also available in pacman, you can use it with the option
Moreover, you can change the following variables to set your own themes. The following table sum up the values used.
Feedback, contributors, pull requests are all very welcome.
Copyright (C) 2016 - 2018 Alexandre PUJOL This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.