mirror of
https://github.com/moparisthebest/pacman
synced 2024-12-22 15:58:50 -05:00
b58489d29a
This is a bash wrapper around an awk function that parses human readable sizes and returns their representative values in bytes, as a string. A small test harness is added to validate the functionality. Signed-off-by: Dave Reisner <dreisner@archlinux.org>
38 lines
1.5 KiB
Plaintext
38 lines
1.5 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.
|