Fixed a bogus bash version check that caused cmdarg to refuse to run on systems with nonstandard bash
This commit is contained in:
12
cmdarg.sh
12
cmdarg.sh
@@ -1,6 +1,6 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
bashversion=$(bash --version | head -n 1 | grep -o "version [0-9]" | cut -d ' ' -f 2)
|
bashversion=$(${BASH} --version | head -n 1 | grep -o "version [0-9]" | cut -d ' ' -f 2)
|
||||||
if [ $bashversion -lt 4 ]; then
|
if [ $bashversion -lt 4 ]; then
|
||||||
echo "cmdarg is incompatible with bash versions < 4.0, please upgrade bash" >&2
|
echo "cmdarg is incompatible with bash versions < 4.0, please upgrade bash" >&2
|
||||||
exit 1
|
exit 1
|
||||||
@@ -36,8 +36,9 @@ function cmdarg
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
if [[ "$(type -t cmdarg_$key)" != "" ]] || \
|
if [[ "$(type -t cmdarg_$key)" != "" ]] || \
|
||||||
|
[[ "${CMDARG_FLAGS[$shortopt]}" != "" ]] || \
|
||||||
[[ "${CMDARG_TYPES[$key]}" != "" ]]; then
|
[[ "${CMDARG_TYPES[$key]}" != "" ]]; then
|
||||||
echo "command line key '$key' is reserved by cmdarg or defined twice" >&2
|
echo "command line key '$shortopt ($key)' is reserved by cmdarg or defined twice" >&2
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -98,12 +99,11 @@ function cmdarg_info
|
|||||||
|
|
||||||
function cmdarg_describe
|
function cmdarg_describe
|
||||||
{
|
{
|
||||||
echo "cmdarg_describe $@" >&2
|
|
||||||
local key default
|
local key default
|
||||||
longopt=${CMDARG[$1]}
|
longopt=${CMDARG[$1]}
|
||||||
opt=$1
|
opt=$1
|
||||||
if [ "${CMDARG_DEFAULT[$longopt]}" != "" ]; then
|
if [ "${CMDARG_DEFAULT[$opt]}" != "" ]; then
|
||||||
default="(Default \"${CMDARG_DEFAULT[$longopt]}\")"
|
default="(Default \"${CMDARG_DEFAULT[$opt]}\")"
|
||||||
fi
|
fi
|
||||||
case ${CMDARG_TYPES[$longopt]} in
|
case ${CMDARG_TYPES[$longopt]} in
|
||||||
$CMDARG_TYPE_STRING)
|
$CMDARG_TYPE_STRING)
|
||||||
@@ -136,6 +136,7 @@ function cmdarg_usage
|
|||||||
echo
|
echo
|
||||||
local key
|
local key
|
||||||
if [[ "${!CMDARG_REQUIRED[@]}" != "" ]]; then
|
if [[ "${!CMDARG_REQUIRED[@]}" != "" ]]; then
|
||||||
|
echo "Required Arguments:"
|
||||||
for key in "${CMDARG_REQUIRED[@]}"
|
for key in "${CMDARG_REQUIRED[@]}"
|
||||||
do
|
do
|
||||||
echo " $(cmdarg_describe $key)"
|
echo " $(cmdarg_describe $key)"
|
||||||
@@ -143,6 +144,7 @@ function cmdarg_usage
|
|||||||
echo
|
echo
|
||||||
fi
|
fi
|
||||||
if [[ "${!CMDARG_OPTIONAL[@]}" != "" ]]; then
|
if [[ "${!CMDARG_OPTIONAL[@]}" != "" ]]; then
|
||||||
|
echo "Optional Arguments":
|
||||||
for key in "${CMDARG_OPTIONAL[@]}"
|
for key in "${CMDARG_OPTIONAL[@]}"
|
||||||
do
|
do
|
||||||
echo " $(cmdarg_describe $key)"
|
echo " $(cmdarg_describe $key)"
|
||||||
|
|||||||
Reference in New Issue
Block a user