diff options
Diffstat (limited to 'lib/functions.zsh')
| -rw-r--r-- | lib/functions.zsh | 28 | 
1 files changed, 28 insertions, 0 deletions
| diff --git a/lib/functions.zsh b/lib/functions.zsh index b4d89a64a..3770d4e82 100644 --- a/lib/functions.zsh +++ b/lib/functions.zsh @@ -44,4 +44,32 @@ function alias_value() {  #  function try_alias_value() {      alias_value "$1" || echo "$1" +} + +# +# Set variable "$1" to default value "$2" if "$1" is not yet defined. +# +# Arguments: +#    1. name - The variable to set +#    2. val  - The default value  +# Return value: +#    0 if the variable exists, 3 if it was set +# +function default() { +    test `typeset +m "$1"` && return 0 +    typeset -g "$1"="$2"   && return 3 +} + +# +# Set enviroment variable "$1" to default value "$2" if "$1" is not yet defined. +# +# Arguments: +#    1. name - The env variable to set +#    2. val  - The default value  +# Return value: +#    0 if the env variable exists, 3 if it was set +# +function env_default() { +    env | grep -q "^$1=" && return 0  +    export "$1=$2"       && return 3  }
\ No newline at end of file | 
