diff --git a/fix-kubectl b/fix-kubectl index 7ed8440..18ce27e 100755 --- a/fix-kubectl +++ b/fix-kubectl @@ -4,25 +4,21 @@ # - uneeded, as this checked whether script is sourced # SC1090 Can't follow non-constant source -# User basename instead of ${0:##*/} to be POSIX compliant -BASE_0=${BASE_0:-$(basename $0)} -SCRIPT_DIR=${SCRIPT_DIR:-"$( cd -- "$( dirname -- "$0" )" &> /dev/null && pwd )"} -BASE_SHELL=$(basename "$SHELL") - # Helper function is_sourced() { if [ -n "$ZSH_VERSION" ]; then case $ZSH_EVAL_CONTEXT in *:file:*) return 0;; esac - else - # case ${0##*/} in dash|-dash|bash|-bash|ksh|-ksh|sh|-sh) return 0;; esac - case "$(basename $0)" in $BASE_SHELL|-$BASE_SHELL) return 0;; esac + else # Add additional POSIX-compatible shell names here, if needed. + case ${0##*/} in dash|-dash|bash|-bash|ksh|-ksh|sh|-sh) return 0;; esac fi return 1; # NOT sourced. } +BASE_0=${BASE_0:-$0} +BASE_SHELL=$(basename "$SHELL") if is_sourced; then - # This part is sourced, and might run in a non-bash shell DBG_="Is Sourced" + SCRIPT_DIR=$( cd -- "$( dirname -- "${BASE_0}" )" &> /dev/null && pwd ) USER_HOME=$HOME [[ -n "${SUDO_USER}" ]] && USER_HOME="$(eval "echo ~${SUDO_USER}")" @@ -105,7 +101,7 @@ if is_sourced; then } fi elif [[ "$1" == '-' ]]; then - printf 'BASE_0="%s"\nSCRIPT_DIR=%s\n' "${BASE_0}" "${SCRIPT_DIR}" + printf 'BASE_0="%s"\n' "${BASE_0}" cat "${BASH_SOURCE[0]}" else SCRIPT_NAME="$BASE_0" diff --git a/load-zellij b/load-zellij index c18f35b..a46e394 100755 --- a/load-zellij +++ b/load-zellij @@ -15,32 +15,33 @@ BASE_SHELL=$(basename "$SHELL") if is_sourced; then zellij() { - if [[ ! -x ~/bin/zellij ]]; then - if [[ ! -x /tmp/zellij/bootstrap/zellij ]]; then - bash <(curl -sL zellij.dev/launch) "${@}" && return - fi + if [[ -x /tmp/zellij/bootstrap/zellij ]]; then + /tmp/zellij/bootstrap/zellij "${@}" + else + bash <(curl -sL zellij.dev/launch) "${@}" fi - if [[ -e /tmp/zellij/bootstrap/zellij ]]; then - mv /tmp/zellij/bootstrap/zellij ~/bin/zellij - fi - if [[ -x ~/bin/zellij ]]; then - ~/bin/zellij "${@}" - fi - } - . <( zellij setup --generate-completion "$BASE_SHELL" ) if [[ -z "$ZELLIJ_SESSION_NAME" ]]; then - (zellij list-sessions 2&>1) > /dev/null || zellij attach -c $USER@$(hostname) + # shellcheck disable=SC2210 + #(zellij list-sessions 2&>1) > /dev/null || zellij attach -c "$USER@$(hostname)" + zellij attach -c "$USER@$(hostname)" || EXITCODE=$? + + # shellcheck disable=SC2086 # EXITCODE might be empty + return $EXITCODE + fi + if [[ -z "$ZSH_VERSION" ]] || (type compdef > /dev/null 2>&1); then + # shellcheck disable=SC1090 + . <( zellij setup --generate-completion "$BASE_SHELL" ) 2> /dev/null fi elif [[ "$1" == '-' ]]; then - cat "${BASH_SOURCE[0]}" + echo "BASE_0=${BASE_0}" + cat "${0}" else SCRIPT_NAME="$BASE_0" printf '%s\n' \ "It seems $SCRIPT_NAME was invoked as a script. It should be sourced instead." \ - 'The easiest way is to call it like this:' \ - " $ . <( $SCRIPT_NAME - ) # Note the '-' after the script's name" \ + 'The easiest way is to call it like this:' \ + " $ . <( $SCRIPT_NAME - ) # Note the '-' after the script's name" \ '' fi -