From 25fe918816c8b8958862ff5173a4281c04b45070 Mon Sep 17 00:00:00 2001 From: AXON Date: Fri, 4 Nov 2022 09:48:25 +0000 Subject: [PATCH 1/2] fix: incorrect shebang --- bashbox | 19 +++++++++++++------ src/subcommand/build.sh | 10 +++++++--- 2 files changed, 20 insertions(+), 9 deletions(-) diff --git a/bashbox b/bashbox index a4d2397..b83188d 100755 --- a/bashbox +++ b/bashbox @@ -1,5 +1,5 @@ #!/usr/bin/env bash -main@bashbox%32288 () +main@bashbox%27918 () { if test "${BASH_VERSINFO[0]}${BASH_VERSINFO[1]}" -lt 43; then { @@ -55,7 +55,7 @@ main@bashbox%32288 () ___self="$0"; ___self_PID="$$"; ___self_DIR="$(cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd)"; - ___MAIN_FUNCNAME='main@bashbox%32288'; + ___MAIN_FUNCNAME='main@bashbox%27918'; ___self_NAME="BashBox"; ___self_CODENAME="bashbox"; ___self_AUTHORS=("AXON "); @@ -988,9 +988,16 @@ ${YELLOW}${_self_name} ${_subcommand_argv} --release --run -- arg1 arg2 \"string local _ran="$RANDOM"; local _main_funcname="main@bashbox%${_ran}"; local _tmp_target_workfile="$_target_workdir/.${NAME}.$_ran"; - local _shebang && { - _shebang='#!'"$(command -v env) bash" - }; + if test -e /usr/bin/env; then + { + : '#!/usr/bin/env bash' + }; + else + { + : '#!'"$(command -v env) bash" + }; + fi; + local _shebang="$_"; printf '%s\n' "$_shebang" "function ${_main_funcname}() {" "${_bb_bootstrap}" '___self="$0";' '___self_PID="$$";' '___self_DIR="$(cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd)";' "___MAIN_FUNCNAME='$_main_funcname';" > "$_tmp_target_workfile"; while read -r _line; do { @@ -1616,4 +1623,4 @@ For bugreports: $___self_REPOSITORY" wait; exit } -main@bashbox%32288 "$@"; +main@bashbox%27918 "$@"; diff --git a/src/subcommand/build.sh b/src/subcommand/build.sh index eb25dcd..4d4fff8 100755 --- a/src/subcommand/build.sh +++ b/src/subcommand/build.sh @@ -223,9 +223,13 @@ ${YELLOW}${_self_name} ${_subcommand_argv} --release --run -- arg1 arg2 \"string local _ran="$RANDOM"; local _main_funcname="main@bashbox%${_ran}"; local _tmp_target_workfile="$_target_workdir/.${NAME}.$_ran"; - local _shebang && { - _shebang='#!'"$(command -v env) bash"; - } + + if test -e /usr/bin/env; then { + : '#!/usr/bin/env bash'; + } else { + : '#!'"$(command -v env) bash"; + } fi + local _shebang="$_"; ## Initial header creation printf '%s\n' "$_shebang" \ From 936bd447806be35f77814eeb46ded4eb50805bc8 Mon Sep 17 00:00:00 2001 From: AXON Date: Fri, 4 Nov 2022 10:05:25 +0000 Subject: [PATCH 2/2] fix: parent argparse --- bashbox | 12 +++++++----- src/main.sh | 8 ++------ 2 files changed, 9 insertions(+), 11 deletions(-) diff --git a/bashbox b/bashbox index b83188d..e94ea12 100755 --- a/bashbox +++ b/bashbox @@ -1,5 +1,5 @@ #!/usr/bin/env bash -main@bashbox%27918 () +main@bashbox%16111 () { if test "${BASH_VERSINFO[0]}${BASH_VERSINFO[1]}" -lt 43; then { @@ -55,7 +55,7 @@ main@bashbox%27918 () ___self="$0"; ___self_PID="$$"; ___self_DIR="$(cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd)"; - ___MAIN_FUNCNAME='main@bashbox%27918'; + ___MAIN_FUNCNAME='main@bashbox%16111'; ___self_NAME="BashBox"; ___self_CODENAME="bashbox"; ___self_AUTHORS=("AXON "); @@ -1549,7 +1549,7 @@ For bugreports: $___self_REPOSITORY" for _arg in "${@}"; do { - if test "$_arg" != "--" && [[ "$_arg" =~ ^-[a-zA-Z] ]]; then + if test "$_arg" != "--" && [[ "$_arg" == -* ]]; then { case "$_arg" in --verbose | -v) @@ -1570,7 +1570,9 @@ For bugreports: $___self_REPOSITORY" exit 0 ;; -C) - cd "$2" || log::error "$2 doesn't exist" || exit; + cd "$2" || { + log::error "$2 doesn't exist" || exit + }; shift ;; esac; @@ -1623,4 +1625,4 @@ For bugreports: $___self_REPOSITORY" wait; exit } -main@bashbox%27918 "$@"; +main@bashbox%16111 "$@"; diff --git a/src/main.sh b/src/main.sh index b94bdb3..82e8953 100755 --- a/src/main.sh +++ b/src/main.sh @@ -71,14 +71,10 @@ function main() { # Assign optional parent arguments # Drop/escape optional parent arguments - # TODO: Needs review and improvement for _arg in "${@}"; do { # Doesnt contain `--`` and is a whole word with leading `-` - if test "$_arg" != "--" && [[ "$_arg" =~ ^-[a-zA-Z] ]]; then { + if test "$_arg" != "--" && [[ "$_arg" == -* ]]; then { case "$_arg" in - # --) - # break; - # ;; --verbose | -v) _arg_verbose=on; ;; @@ -97,7 +93,7 @@ function main() { ;; -C) # _arg_path="$2"; - cd "$2" || log::error "$2 doesn't exist" || exit; + cd "$2" || { log::error "$2 doesn't exist" || exit; }; shift; ;; esac