diff options
Diffstat (limited to 'lib/util/config.bash')
-rw-r--r-- | lib/util/config.bash | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/lib/util/config.bash b/lib/util/config.bash index 76b6567..9817cf3 100644 --- a/lib/util/config.bash +++ b/lib/util/config.bash @@ -17,7 +17,11 @@ config_subkeys() { config_for() { local host=$1 ; shift local key=$1 ; shift - local default=$1 ; shift + + # Use a variable definition test to define default, in order to ensure + # it is _not_ defined if no argument for it was passed, but _is_ + # defined even if an empty string was passed. + test -v 1 && { local default=$1 ; shift ; } local default local file @@ -67,8 +71,8 @@ config_for() { fi done - # Return default value - if [[ -n $default ]] + # Return default value, if one has been defined + if test -v default then printf "%s" "$default" return |