Move under www to ease rsync
This commit is contained in:
38
www/eps/hpr2448/hpr2448_read_value.sh
Executable file
38
www/eps/hpr2448/hpr2448_read_value.sh
Executable file
@@ -0,0 +1,38 @@
|
||||
#=== FUNCTION ================================================================
|
||||
# NAME: read_value
|
||||
# DESCRIPTION: Read a value from STDIN and handle errors.
|
||||
# PARAMETERS: 1 - Prompt string for the read
|
||||
# 2 - Name of variable to receive the result
|
||||
# 3 - Default value (optional)
|
||||
# RETURNS: 1 on error, otherwise 0
|
||||
#===============================================================================
|
||||
read_value () {
|
||||
local prompt="${1:?Usage: read_value prompt outputname [default]}"
|
||||
local outputname="${2:?Usage: read_value prompt outputname [default]}"
|
||||
local default="${3:-}"
|
||||
local var
|
||||
|
||||
#
|
||||
# Make an option for the 'read' if there's a default
|
||||
#
|
||||
if [[ -n $default ]]; then
|
||||
default="-i '$default'"
|
||||
fi
|
||||
|
||||
#
|
||||
# Read and handle CTRL-D (EOF). Use 'eval' to deal with the argument being
|
||||
# a variable
|
||||
#
|
||||
eval "read -r -e $default -p '$prompt' var"
|
||||
res="$?"
|
||||
if [[ $res -ne 0 ]]; then
|
||||
echo "Read aborted"
|
||||
return 1
|
||||
fi
|
||||
|
||||
#
|
||||
# Return the value in the nominated variable
|
||||
#
|
||||
eval "$outputname='$var'"
|
||||
return 0
|
||||
}
|
||||
Reference in New Issue
Block a user