rework help, provide option -h --help

This commit is contained in:
Kay Marquardt (Gnadelwartz) 2021-01-01 21:36:48 +01:00
parent 647492c989
commit 726357ab58

View File

@ -3,9 +3,10 @@
# #
# File: bashbot.sh # File: bashbot.sh
# Note: DO NOT EDIT! this file will be overwritten on update # Note: DO NOT EDIT! this file will be overwritten on update
# shellcheck disable=SC2140,SC2031,SC2120,SC1091,SC1117,SC2059
#
# Description: bashbot, the Telegram bot written in bash.
# #
# Description:
# bashbot, the Telegram bot written in bash.
# Written by Drew (@topkecleon) KayM (@gnadelwartz). # Written by Drew (@topkecleon) KayM (@gnadelwartz).
# Also contributed: Daniil Gentili (@danogentili), JuanPotato, # Also contributed: Daniil Gentili (@danogentili), JuanPotato,
# BigNerd95, TiagoDanin, iicc1. # BigNerd95, TiagoDanin, iicc1.
@ -14,6 +15,9 @@
# This file is public domain in the USA and all free countries. # This file is public domain in the USA and all free countries.
# Elsewhere, consider it to be WTFPLv2. (wtfpl.net/txt/copying) # Elsewhere, consider it to be WTFPLv2. (wtfpl.net/txt/copying)
# #
# Usage: bashbot.sh [-h|--help|BOTCOMMANDS]
BOTCOMMANDS="start, stop, status, help, init, suspendback, resumeback, killback"
#
# Exit Codes: # Exit Codes:
# 0 - success (hopefully) # 0 - success (hopefully)
# 1 - can't change to dir # 1 - can't change to dir
@ -26,9 +30,8 @@
# 8 - curl/wget missing # 8 - curl/wget missing
# 10 - not bash! # 10 - not bash!
# #
#### $$VERSION$$ v1.21-pre-8-g7b6a6ca #### $$VERSION$$ v1.21-pre-9-g647492c
################################################################## ##################################################################
# shellcheck disable=SC2140,SC2031,SC2120,SC1091,SC1117,SC2059
# emmbeded system may claim bash but it is not # emmbeded system may claim bash but it is not
# check for bash like ARRAY handlung # check for bash like ARRAY handlung
@ -141,19 +144,6 @@ if [ "${SCRIPT}" != "${REALME}" ] || [ "$1" = "source" ]; then
SOURCE="yes" SOURCE="yes"
fi fi
BOTCOMMANDS="start, stop, status, help, init, suspendback, resumeback, killback"
[[ -z "$1" && -z "${SOURCE}" ]] && printf "${ORANGE}Available commands: ${GREY}${BOTCOMMANDS}${NN}" && exit
if [ "$1" = "help" ]; then
HELP="${BASHBOT_HOME:-.}/README"
if [ -n "${INTERACTIVE}" ];then
_exists w3m && w3m "$HELP.html" && exit
_exists lynx && lynx "$HELP.html" && exit
_exists less && less "$HELP.txt" && exit
fi
cat "$HELP.txt"
exit
fi
if [ -n "$BASHBOT_HOME" ]; then if [ -n "$BASHBOT_HOME" ]; then
SCRIPTDIR="$BASHBOT_HOME" SCRIPTDIR="$BASHBOT_HOME"
else else
@ -165,6 +155,22 @@ fi
ADDONDIR="${BASHBOT_ETC:-.}/addons" ADDONDIR="${BASHBOT_ETC:-.}/addons"
RUNUSER="${USER}" # USER is overwritten by bashbot array :-(, save original RUNUSER="${USER}" # USER is overwritten by bashbot array :-(, save original
# provide help
case "$1" in
""|"-h"*) printf "${ORANGE}Available commands: ${GREY}${BOTCOMMANDS}${NN}"
exit;;
"--h"*) sed -nE -e '/(NOT EDIT)|(shellcheck)/d' -e '3,/###/p' <"$0"
exit;;
"help") HELP="${BASHBOT_HOME:-.}/README"
if [ -n "${INTERACTIVE}" ];then
_exists w3m && w3m "$HELP.html" && exit
_exists lynx && lynx "$HELP.html" && exit
_exists less && less "$HELP.txt" && exit
fi
cat "$HELP.txt"
exit;;
esac
# OK, ENVIRONMENT is set up, let's do some additional tests # OK, ENVIRONMENT is set up, let's do some additional tests
if [[ -z "${SOURCE}" && -z "$BASHBOT_HOME" ]] && ! cd "${RUNDIR}" ; then if [[ -z "${SOURCE}" && -z "$BASHBOT_HOME" ]] && ! cd "${RUNDIR}" ; then
printf "${RED}ERROR: Can't change to ${RUNDIR} ...${NN}" printf "${RED}ERROR: Can't change to ${RUNDIR} ...${NN}"