Sponsored Content
Top Forums Shell Programming and Scripting Function to run a progress bar in zenity Post 303025002 by rbatte1 on Monday 22nd of October 2018 12:13:50 PM
Old 10-22-2018
You could also use wget with the --progress=bar option which writes to STDERR or another alternate would be pv. You probably have to do something a little odd with that though, such as:-
Code:
wget -O - "${source_url}" | pv options > ${target_file}

The options could include things such as a file size estimate so you can get a percentage done/remaining time estimate etc.

I'd only go for pv in this case if the curl or wget options are unavailable to you for some reason, e.g. you are capturing the output in a variable to use later on for some reason, however if that is the case, maybe you would be better to set off a background process to give you feedback, similar to this:-
Code:
:

target_file=/path/to/your/file
expected_size=1024000000           # Estimate on the file size
:
:
while :
do
   sleep 2
   current_size=$(stat -c %s ${target_file})
   ((percent_complete=(${current_size}*100)/${expected_size}))
   printf "\rDownload is %2.0d\% complete."
done &                 #   Loop in the background
bg_process_id=$!       # Get the process id of the background loop

curl -o "${target_file}" "${source_url}"
kill $bg_process_id

It's a bit messy, but could help if you read and process the STDOUT & STDERR from curl or wget.



I hope that this helps, but try the other suggestions first.
Robin
 

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

progress bar

i am trying to write a script where in it will connect to remote servers and execute remote scripts to fetch some data and ftp it back to a main server. i would like to add a script where it will show some sort of status bar until such time that the expected files have been recieved. something... (3 Replies)
Discussion started by: inquirer
3 Replies

2. UNIX for Advanced & Expert Users

how to have a cp progress bar?

Hi all, This is a reformed post to my earlier ones!!!!!! I would like to know how to include a progress bar while using the cp... I am copying a few huge files from cdrom but am unable to figure out ,how to give a progress bar!!!!! I checked out other sites as well,but the issue here is... (1 Reply)
Discussion started by: wrapster
1 Replies

3. Shell Programming and Scripting

Progress bar

Hi friends, how can I show a progress bar for any running process in the shell script. For example when I am copying or compressing a file. Thanks. (1 Reply)
Discussion started by: dwiravi
1 Replies

4. Shell Programming and Scripting

progress bar

hi all, in shell script (ksh), how do i write a progress bar ?? i have a script which searches files and while its searching i am currently printing out "." and if it finds what its searching for the script prints out the name of the file e.g .................. firstFile.txt... (2 Replies)
Discussion started by: cesarNZ
2 Replies

5. Shell Programming and Scripting

Progress bar for cp

I'm trying to use this code to get a progress bar for cp: "Can you get cp to give a progress bar like wget?" But I'm getting these errors: stat: illegal option -- c usage: stat awk: division by zero input record number 1, file source line number 4 I'm using Mac OS X 10.6... (1 Reply)
Discussion started by: pcwiz
1 Replies

6. Shell Programming and Scripting

zenity progress and simultaneously terminal output

Hi, I want to use zenity --progress and also put the output to the terminal. I tried using the tee command but that puts the output to the terminal first and then shows the zenity progress dialog. Take the normal example by the gnome manual: ( echo "10" ; sleep 1 ... (0 Replies)
Discussion started by: sikku
0 Replies

7. Shell Programming and Scripting

Progress bar

Hi Experts; Im in the process of writing a shell script for enabling an IT operations to run archiving.We use netbackup. The script is complete, though there is one bit that i need help on. Im trying to have a progess bar for the procedure.I have gone through the man page of the command in... (5 Replies)
Discussion started by: maverick_here
5 Replies

8. Shell Programming and Scripting

Looping with zenity's progress bar

Hi, me again :} I do have a little issue with my pseudo code. I am trying to copy files from one place to another and show the progress bar of the task, however the progress will start on 0% and change its GUI to 100% immediately (there is no progress on the bar), files were copied to desired... (1 Reply)
Discussion started by: defila
1 Replies

9. Shell Programming and Scripting

[zenity] precise progress bar

Hello everyone, Is it possible to have a precise progress bar in zenity during the execution of the following: find -type f \( -not -name "$file_name".md5 \) -exec md5sum '{}' \; > "$file_name".md5Currently I am using zenity --title="Running..." --progress --pulsate --auto-close... (1 Reply)
Discussion started by: soichiro
1 Replies
zenity(1)							   User Commands							 zenity(1)

NAME
zenity, gdialog - display simple GNOME dialogs SYNOPSIS
zenity --calendar [--height=height] [--title=title] [--width=width] [--window-icon=path] [--date-format=format] [--day=number] [--month=number] [--text=text] [--year=number] zenity --entry [--height=height] [--title=title] [--width=width] [--window-icon=path] [--entry-text=text] [--hide-text] [--text=text] zenity --error | --info | --question | --warning [--height=height] [--title=title] [--width=width] [--window-icon=path] [--text=text] zenity --file-selection [--height=height] [--title=title] [--width=width] [--window-icon=path] [--filename=path] [--multiple] [--separa- tor=character] zenity --list --column=text [--height=height] [--title=title] [--width=width] [--window-icon=path] [--checklist] [--editable] [--radiolist] [--separator=character] zenity --progress [--height=height] [--title=title] [--width=width] [--window-icon=path] [--auto-close] [--percentage=number] [--pulsate] [--text=text] zenity --text-info [--height=height] [--title=title] [--width=width] [--window-icon=path] [--editable] [--filename=path] zenity --about | --help | --usage | --version | -GTK+_options DESCRIPTION
The Zenity application displays simple GNOME dialogs. You can use Zenity to create scripts that interact graphically with the user. gdia- log(1) has been deprecated and is now a wrapper script around Zenity, and will preserve compatibility with older scripts. OPTIONS
Zenity supports several different types of options. Zenity-Specific Options The following Zenity-specific options are supported: --about Display the About Zenity dialog, which provides information about the Zenity application, including the version number and the author. --version Display the version number of Zenity. Help Options The following help options are supported: --help Display help text. You can also use -? to specify this option. --usage Display brief usage text. GTK+ Options Zenity supports the standard GTK+ options. For more information about the GTK+ options, execute the zenity -? command. Dialog Options The following dialog options are supported: --calendar Display a calendar dialog. --entry Display a text entry dialog. --error Display an error dialog. --file-selection Display a file-selection dialog. --info Display an informational dialog. --list Display a list dialog. --progress Display a progress indication dialog. --question Display a question dialog. --text-info Display a text information dialog. --warning Display a warning dialog. General Dialog Options The following general dialog options are supported: --height=height Set the dialog height. --title=title Set the dialog title. --width=width Set the dialog width. --window-icon=path Set the dialog window icon with a full path to an image. Calendar Dialog Options The following calendar dialog options are supported: --date-format=format Set the date format to return at the command line. The default format depends on your locale. The format must be of strftime style, for example %A %d/%m/%y. --day=number Set the calendar day. --month=number Set the calendar month. --text=text Set the dialog text. --year=number Set the calendar year. Text-Entry Dialog Options The following text-entry dialog options are supported: --entry-text=text Set the dialog entry text. --hide-text Use asterisks to hide the entry text. --text=text Set the dialog text. Error Dialog Options The following error dialog options are supported: --text=text Set the dialog text. File-Selection Dialog Options The following file-selection dialog options are supported: --filename=path Set the file or directory to select by default. --multiple Allow multiple selections. --separator=character Set the separator character to return at the command line. This option is used only when the dialog allows multi- ple selections. Informational Dialog Options The following informational dialog options are supported: --text=text Set the dialog text. List Dialog Options The following list dialog options are supported: --checklist Specify that the first column contains check boxes. --column=text Set the text of a column. --editable Specify that the dialog contents are editable. --radiolist Specify that the first column contains radio buttons. --separator=character Set the separator character to return at the command line. This option is used only when the dialog allows multi- ple selections. Progress-Indication Dialog Options The following progress-indication dialog options are supported: --auto-close Close the dialog automatically when 100% has been reached. --percentage=number Set the initial percentage of the progress bar. --pulsate Specify that the progress bar pulsates until an EOF character is read from the command line. --text=text Set the dialog text. Question Dialog Options The following question dialog options are supported: --text=text Set the dialog text. Text-Informational Dialog Options The following text-informational dialog options are supported: --editable Specify that the dialog contents are editable. --filename=path Set the file to display in the dialog. Warning Dialog Options The following warning dialog options are supported: --text=text Set the dialog text. EXAMPLES
Example 1: Launching Zenity Using the List Dialog example% zenity --list --title="Choose bugs you wish to view" --text="Select items from the list below." --column="Bug Number" --column="Severity" --column="Description" 992383 Normal "GtkTreeView crashes on multiple selections" 293823 High "GNOME Dictionary does not handle proxy" 393823 Critical "Menu editing does not work in GNOME 2.0" Example 2: Launching Zenity Using the Progress Dialog example% find . -name '*.bk' | zenity --progress --title="Finding backups" --pulsate Example 3: Launching Zenity Using the Text Informational Dialog example% zenity --text-info --title="LGPL License" --filename="/home/user1/LICENSE" ENVIRONMENT VARIABLES
The following environment variables affect the execution of zenity: ZENITY_OK, DIALOG_OK Set the return value for OK. ZENITY_CANCEL, DIALOG_CANCEL Set the return value for Cancel. ZENITY_ERROR, DIALOG_ERROR Set the return value for Error. ZENITY_ESC, DIALOG_ESC Set the return value for Escape. EXIT STATUS
The following exit values are returned: -1 Error 0 OK 1 Cancel, Escape FILES
The following files are used by this application: /usr/bin/zenity Executable for Zenity. ATTRIBUTES
See attributes(5) for descriptions of the following attributes: +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Availability |SUNWzenity | +-----------------------------+-----------------------------+ |Interface stability |External | +-----------------------------+-----------------------------+ SEE ALSO
Zenity Manual Latest version of the GNOME Desktop User Guide for your platform. NOTES
Written by Glynn Foster, Sun Microsystems Inc., 2003, 2004. SunOS 5.10 20 Jul 2004 zenity(1)
All times are GMT -4. The time now is 09:11 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy