Add helper to easily define default values for variables and env variables.

This commit is contained in:
mapc 2012-05-05 10:39:31 +02:00
parent dbef8b1a92
commit 8f71efc09b
1 changed files with 28 additions and 0 deletions

View File

@ -45,3 +45,31 @@ function alias_value() {
function try_alias_value() { function try_alias_value() {
alias_value "$1" || echo "$1" 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
}