1
0
mirror of https://github.com/moparisthebest/pacman synced 2024-12-23 08:18:51 -05:00
pacman/scripts/library/README
Dave Reisner a98fce0896 scripts/library: add size_to_human
This function is the reverse of human_to_size, and converts integer byte
sizes to human readable SI prefixed values.

A logical extension of this might be to mimic the formatter that pacman
uses and allow a second argument to be passed in which can coerce the
size, rather than reducing until the unit count is below 1024.

Signed-off-by: Dave Reisner <dreisner@archlinux.org>
2012-06-25 23:39:34 -05:00

42 lines
1.7 KiB
Plaintext

This folder contains code snippets that can be reused by multiple
scripts. A brief description of each file follows.
output_format.sh:
Provides basic output formatting functions with levels 'msg', 'msg2',
'warning' and 'error'. The 'msg' amd 'msg2' functions print to stdout
and can be silenced by defining 'QUIET'. The 'warning' and 'error'
functions print to stderr with the appropriate prefix added to the
message.
parseopts.sh:
A getopt_long-like parser which portably supports longopts and shortopts
with some GNU extensions. It does not allow for options with optional
arguments. For both short and long opts, options requiring an argument
should be suffixed with a colon. After the first argument containing
the short opts, any number of valid long opts may be be passed. The end
of the options delimiter must then be added, followed by the user arguments
to the calling program.
Reccommended Usage:
OPT_SHORT='fb:z'
OPT_LONG=('foo' 'bar:' 'baz')
if ! parseopts "$OPT_SHORT" "${OPT_LONG[@]}" -- "$@"; then
exit 1
fi
set -- "${OPTRET[@]}"
Returns:
0: parse success
1: parse failure (error message supplied)
human_to_size.sh:
A function to convert human readable sizes (such as "5.3 GiB") to raw byte
equivalents. base10 and base2 suffixes are supported, case sensitively. If
successful, the converted byte value is written to stdout and the function
returns 0. If an error occurs, nothing in written and the function returns 1.
Results may be inaccurate when using a broken implementation of awk, such
as mawk or busybox awk.
size_to_human.sh:
The reverse of human_to_size, this function takes an integer byte size and
prints its in human readable format, with SI prefixes (e.g. MiB, TiB).