summaryrefslogtreecommitdiff
path: root/scripts/library/README
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/library/README')
-rw-r--r--scripts/library/README36
1 files changed, 31 insertions, 5 deletions
diff --git a/scripts/library/README b/scripts/library/README
index 1e9c962b..0fa0f847 100644
--- a/scripts/library/README
+++ b/scripts/library/README
@@ -8,8 +8,34 @@ and can be silenced by defining 'QUIET'. The 'warning' and 'error'
functions print to stderr with the appropriate prefix added to the
message.
-parse_options.sh:
-A getopt replacement to avoids portability issues, in particular the
-lack of long option name support in the default getopt provided by some
-platforms.
-Usage: parse_option $SHORT_OPTS $LONG_OPTS "$@"
+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).