mirror of
https://github.com/moparisthebest/pacman
synced 2024-12-23 08:18:51 -05:00
a98fce0896
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>
42 lines
1.7 KiB
Plaintext
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).
|