Server IP : 195.201.23.43 / Your IP : 3.145.164.105 Web Server : Apache System : Linux webserver2.vercom.be 5.4.0-192-generic #212-Ubuntu SMP Fri Jul 5 09:47:39 UTC 2024 x86_64 User : kdecoratie ( 1041) PHP Version : 7.1.33-63+ubuntu20.04.1+deb.sury.org+1 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /usr/share/shtool/ |
Upload File : |
## ## prop -- Display progress with a running propeller ## Copyright (c) 1998-2008 Ralf S. Engelschall <rse@engelschall.com> ## ## This file is part of shtool and 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 ## 2 of the License, or (at your option) any later version. ## ## This file 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, write to the Free Software ## Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, ## USA, or contact Ralf S. Engelschall <rse@engelschall.com>. ## str_tool="prop" str_usage="[-p|--prefix <str>]" arg_spec="0=" opt_spec="p:" opt_alias="p:prefix" opt_p="" . ./sh.common perl='' for dir in `echo $PATH | sed -e 's/:/ /g'` .; do if [ -f "$dir/perl" ]; then perl="$dir/perl" break fi done if [ ".$perl" != . ]; then # Perl is preferred because writing to STDERR in # Perl really writes immediately as one would expect $perl -e ' @p = ("|","/","-","\\"); $i = 0; while (<STDIN>) { printf(STDERR "\r%s...%s\b", $ARGV[0], $p[$i++]); $i = 0 if ($i > 3); } printf(STDERR "\r%s \n", $ARGV[0]); ' "$opt_p" else # But if Perl doesn't exists we use Awk even # some Awk's buffer even the /dev/stderr writing :-( awk ' BEGIN { split("|#/#-#\\", p, "#"); i = 1; } { printf("\r%s%c\b", prefix, p[i++]) > "/dev/stderr"; if (i > 4) { i = 1; } } END { printf("\r%s \n", prefix) > "/dev/stderr"; } ' "prefix=$opt_p" fi shtool_exit 0 ## ## manual page ## =pod =head1 NAME B<shtool-prop> - B<GNU shtool> propeller processing indication =head1 SYNOPSIS B<shtool prop> [B<-p>|B<--prefix> I<str>] =head1 DESCRIPTION This command displays a processing indication though a running propeller. It is intended to be run at the end of a pipe ("C<|>") sequence where on C<stdin> logging/processing information found. For every line on C<stdin> the propeller advances one step clock-wise. =head1 OPTIONS The following command line options are available. =over 4 =item B<-p>, B<--prefix> I<str> Set a particular prefix I<str> which is displayed in front of the propeller. The default is no prefix string. =back =head1 EXAMPLE # shell script configure 2>&1 |\ tee logfile |\ shtool prop -p "Configuring sources" =head1 HISTORY The B<GNU shtool> B<prop> command was originally written by Ralf S. Engelschall E<lt>rse@engelschall.comE<gt> in 1998 for B<mod_ssl>. It was later taken over into B<GNU shtool>. =head1 SEE ALSO shtool(1). =cutPrivate