diff options
Diffstat (limited to 'pbs-help')
-rwxr-xr-x | pbs-help | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/pbs-help b/pbs-help new file mode 100755 index 0000000..60d4270 --- /dev/null +++ b/pbs-help @@ -0,0 +1,39 @@ +#!/bin/bash -euE + +. libremessages + +stem=pbs + +list_commands() { + find ${PATH//:/ } -type f -executable -name "$stem-*" \ + -printf '%f\n' 2>/dev/null | sed "s/^${stem}-//;/--/d" +} + +master_usage() { + echo "Usage: ${pbs_short:-${stem}} COMMAND [OPTIONS]" + echo + echo "Commands:" + list_commands | sed 's/^/ /' +} + +help_usage() { + echo "Usage: ${pbs_short:-${stem}} help [OPTIONS] COMMAND" + echo "Shows the manual page for a command" + echo '' + echo 'Options:' + echo ' -h Show this message' +} + +main() { + if [[ $# < 1 ]]; then + master_usage + else + if in_array '-h' "$@"; then + help_usage + else + man "$stem-$1" + fi + fi +} + +main "$@" |