explain REGEX usage vs. file globbing

This commit is contained in:
Kay Marquardt (Gnadelwartz) 2019-12-07 13:25:50 +01:00
parent f9c107850a
commit 3d636f77e6
6 changed files with 11 additions and 8 deletions

View File

@ -153,7 +153,7 @@ fi
############### ###############
# load modules # load modules
for modules in ${MODULEDIR:-.}/*.sh ; do for modules in "${MODULEDIR:-.}"/*.sh ; do
# shellcheck source=./modules/aliases.sh # shellcheck source=./modules/aliases.sh
[ -r "${modules}" ] && source "${modules}" "source" [ -r "${modules}" ] && source "${modules}" "source"
done done
@ -615,7 +615,7 @@ start_bot() {
find "${DATADIR}" -type p -delete find "${DATADIR}" -type p -delete
find "${DATADIR}" -size 0 -name "*.log" -delete find "${DATADIR}" -size 0 -name "*.log" -delete
# load addons on startup # load addons on startup
for addons in ${ADDONDIR:-.}/*.sh ; do for addons in "${ADDONDIR:-.}"/*.sh ; do
# shellcheck source=./modules/aliases.sh # shellcheck source=./modules/aliases.sh
[ -r "${addons}" ] && source "${addons}" "startbot" "${DEBUG}" [ -r "${addons}" ] && source "${addons}" "startbot" "${DEBUG}"
done done
@ -653,7 +653,7 @@ bot_init() {
[ -d "${OLDTMP}" ] && { mv -n "${OLDTMP}/"* "${DATADIR}"; rmdir "${OLDTMP}"; } [ -d "${OLDTMP}" ] && { mv -n "${OLDTMP}/"* "${DATADIR}"; rmdir "${OLDTMP}"; }
[ -f "modules/inline.sh" ] && rm -f "modules/inline.sh" [ -f "modules/inline.sh" ] && rm -f "modules/inline.sh"
# load addons on startup # load addons on startup
for addons in ${ADDONDIR:-.}/*.sh ; do for addons in "${ADDONDIR:-.}"/*.sh ; do
# shellcheck source=./modules/aliases.sh # shellcheck source=./modules/aliases.sh
[ -r "${addons}" ] && source "${addons}" "init" "${DEBUG}" [ -r "${addons}" ] && source "${addons}" "init" "${DEBUG}"
done done

View File

@ -39,7 +39,7 @@ Get the code in my [GitHub](http://github.com/topkecleon/telegram-bot-bash)
# load modues on startup and always on on debug # load modues on startup and always on on debug
if [ "${1}" = "source" ] || [[ "${1}" = *"debug"* ]] ; then if [ "${1}" = "source" ] || [[ "${1}" = *"debug"* ]] ; then
# load all readable modules # load all readable modules
for modules in ${MODULEDIR:-.}/*.sh ; do for modules in "${MODULEDIR:-.}"/*.sh ; do
# shellcheck source=./modules/aliases.sh # shellcheck source=./modules/aliases.sh
[ -r "${modules}" ] && source "${modules}" "${1}" [ -r "${modules}" ] && source "${modules}" "${1}"
done done

View File

@ -21,7 +21,7 @@ echo "............................"
unset IFS; set -f unset IFS; set -f
# check for shellcheck # check for shellcheck
if which shellcheck >/dev/null 2>&1; then if command -v shellcheck >/dev/null 2>&1; then
echo " Test all scripts with shellcheck ..." echo " Test all scripts with shellcheck ..."
else else
echo "Error: shellcheck is not installed. Install shellcheck or delete $0" echo "Error: shellcheck is not installed. Install shellcheck or delete $0"

View File

@ -16,7 +16,10 @@ res=""
# To enable this option in your bot, send the /setinline command to @BotFather. # To enable this option in your bot, send the /setinline command to @BotFather.
export INLINE="0" export INLINE="0"
# Set to .* to allow sending files from all locations # Set to .* to allow sending files from all locations
export FILE_REGEX='/home/user/allowed/.*' # NOTE: this is a regex, not shell globbing! you must use a valid egex,
# '.' matches any charater and '.*' matches all remaining charatcers!
# additionally you must escape special charaters with '\', e.g. '\. \? \[ \*" to match them literally
export FILE_REGEX='^/home/user/allowed/.*'
# example: run bashbot over TOR # example: run bashbot over TOR
# export BASHBOT_CURL_ARGS="--socks5-hostname 127.0.0.1:9050" # export BASHBOT_CURL_ARGS="--socks5-hostname 127.0.0.1:9050"

View File

@ -20,7 +20,7 @@ do
[ "${i}" = "1" ] && echo " ... JSON.sh -s -b -n" [ "${i}" = "1" ] && echo " ... JSON.sh -s -b -n"
[ "${i}" = "2" ] && echo " ... JSON.sh" [ "${i}" = "2" ] && echo " ... JSON.sh"
set +f set +f
for jsonfile in ${REFDIR}/*.in for jsonfile in "${REFDIR}"/*.in
do do
set -f set -f
[ "${i}" = "1" ] && "${JSON}" -s -b -n <"${jsonfile}" >"${jsonfile}.out-${i}" [ "${i}" = "1" ] && "${JSON}" -s -b -n <"${jsonfile}" >"${jsonfile}.out-${i}"

View File

@ -29,7 +29,7 @@ source <( printf 'UPD=( %s )' "$(sed <<<"${UPDATE}" -E -e 's/\t/=/g' -e 's/=(tru
echo "Check process_inline ..." echo "Check process_inline ..."
for i in 1 2 for i in 1 2
do do
[ "${i}" = "1" ] && ! which python >/dev/null 2>&1 && continue [ "${i}" = "1" ] && ! command -v python >/dev/null 2>&1 && continue
[ "${i}" = "1" ] && echo " ... with JsonDecode Phyton" && unset BASHBOT_DECODE [ "${i}" = "1" ] && echo " ... with JsonDecode Phyton" && unset BASHBOT_DECODE
[ "${i}" = "2" ] && echo " ... with JsonDecode Bash" && export BASHBOT_DECODE="yes" [ "${i}" = "2" ] && echo " ... with JsonDecode Bash" && export BASHBOT_DECODE="yes"
set -x set -x