diff --git a/client/src/docker/lib/lib_docker.bash b/client/src/docker/lib/lib_docker.bash index 92e24ea..27d91c9 100644 --- a/client/src/docker/lib/lib_docker.bash +++ b/client/src/docker/lib/lib_docker.bash @@ -53,7 +53,7 @@ deps=("sed") lib_utils::deps_check "${deps[@]}" # Top-level caller -global_basename="$(basename $0)" +global_basename="$(basename -- $0)" declare -rx global_basename # Globals argument delimiters @@ -67,18 +67,21 @@ function lib_docker::docker() { # Instance format: # - # docker-finance/platform/user:tag + # docker-finance/platform/user:tag [command] # # Where user supplies: # - # platform/user:tag + # platform/user:tag [command] + # + # Where [command] is optional if only instantiating library - [[ -z "$1" || -z "$2" ]] && return 2 + [ -z "$1" ] && return 2 [[ ! "$1" =~ $global_arg_delim_1 ]] && return 2 + [ -z "$2" ] && lib_utils::print_debug "command not given, assuming unused" # Parse image IFS="/" read -ra _image <<<"$1" - declare -g global_platform="${_image[0]}" + declare -gx global_platform="${_image[0]}" local -r _user="${_image[1]}" lib_utils::print_debug "global_platform=${global_platform}" @@ -89,26 +92,26 @@ function lib_docker::docker() # Parse tag IFS=":" read -ra _tag <<<"$_user" - declare -g global_user="${_tag[0]}" - declare -g global_tag="${_tag[1]}" + declare -gx global_user="${_tag[0]}" + declare -gx global_tag="${_tag[1]}" [ -z "$global_tag" ] && global_tag="latest" # TODO: needs to make sense, actually have version-related functionality with client conf lib_utils::print_debug "global_user=${global_user}" lib_utils::print_debug "global_tag=${global_tag}" # Set instance name - declare -gr global_image="docker-finance/${global_platform}/${global_user}" - declare -gr global_container="docker-finance_${global_platform}_${global_user}" - declare -gr global_network="docker-finance_${global_platform}" + declare -gxr global_image="docker-finance/${global_platform}/${global_user}" + declare -gxr global_container="docker-finance_${global_platform}_${global_user}" + declare -gxr global_network="docker-finance_${global_platform}" lib_utils::print_debug "global_image=${global_image}" lib_utils::print_debug "global_container=${global_container}" lib_utils::print_debug "global_network=${global_network}" # Instance command - declare -gr global_command="$2" + declare -gxr global_command="$2" lib_utils::print_debug "global_command=${global_command}" # Convenience usage - declare -gr global_usage="$global_basename ${global_platform}${global_arg_delim_1}${global_user}:${global_tag} $global_command" + declare -gxr global_usage="$global_basename ${global_platform}${global_arg_delim_1}${global_user}:${global_tag} $global_command" lib_utils::print_debug "global_usage=${global_usage}" # Setup remaining client/container globals