25 lines
468 B
Bash
25 lines
468 B
Bash
|
#!/bin/bash
|
||
|
|
||
|
read_sensitive() {
|
||
|
# Securely read input into a variable
|
||
|
#
|
||
|
# Arguments:
|
||
|
# READVARIABLE <type: variable> <position: 1> <required: true>
|
||
|
# - A variable must be passed and the output of this function will be set to that variable
|
||
|
# e.g: read_sensitive MYVAR
|
||
|
#
|
||
|
# Usage:
|
||
|
# read_sensitive SOMEVAR
|
||
|
#
|
||
|
# POSIX Compliant:
|
||
|
# Yes
|
||
|
#
|
||
|
|
||
|
stty -echo
|
||
|
local INPUT
|
||
|
read -r INPUT
|
||
|
stty echo
|
||
|
printf "\n"
|
||
|
eval "${1}=${INPUT}"
|
||
|
}
|