mirror of
https://github.com/moparisthebest/pacman
synced 2024-12-22 15:58:50 -05:00
7ae25ac67f
Signed-off-by: Allan McRae <allan@archlinux.org> |
||
---|---|---|
.. | ||
human_to_size.sh | ||
output_format.sh | ||
parseopts.sh | ||
README | ||
size_to_human.sh | ||
term_colors.sh |
This directory 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 'plain', '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. Recommended 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). term_colors.sh: Contains some common color settings for output_format.sh.