now xreadYes' VAR argument is optional...

Signed-off-by: Alex A. Naanou <alex.nanou@gmail.com>
This commit is contained in:
Alex A. Naanou 2024-01-21 02:20:10 +03:00
parent ee5d4dbb99
commit 8ccb5a5495
2 changed files with 30 additions and 21 deletions

View File

@ -196,17 +196,23 @@ xread(){
} }
# #
# xreadYes MSG VAR # xreadYes MSG [VAR]
# #
# XXX make VAR optional...
xreadYes(){ xreadYes(){
if [ -z ${2} ] ; then
local var=__X
local __X
else
local var=${2}
local mode=
fi
# XXX check DFL_..??? # XXX check DFL_..???
if [[ "${!2}" == "SKIP" ]] ; then if [[ "${!var}" == "SKIP" ]] ; then
eval "$2=" eval "$var="
return return
fi fi
if [ -z ${!2} ] ; then if [ -z ${!var} ] ; then
if [ -z $(eval "echo \$DFL_${2}") ] ; then if [ -z $(eval "echo \$DFL_${var}") ] ; then
local yes=y local yes=y
local no=N local no=N
local dfl= local dfl=
@ -215,23 +221,23 @@ xreadYes(){
local no=n local no=n
local dfl=1 local dfl=1
fi fi
eval 'read -ep "'$1' ('$yes'/'$no') " '${2}'' eval 'read -ep "'$1' ('$yes'/'$no') " '${var}''
XREAD_VARS+=(${2}) XREAD_VARS+=(${var})
# normalize... # normalize...
eval "${2}=${!2,,}" eval "${var}=${!var,,}"
if [[ "${!2}" == 'y' ]] ; then if [[ "${!var}" == 'y' ]] ; then
eval "${2}=1" eval "${var}=1"
elif [[ ${!2} == 'n' ]] ; then elif [[ ${!var} == 'n' ]] ; then
eval "${2}=" eval "${var}="
# set default if empty... # set default if empty...
else else
eval "${2}=\${${2}:-$dfl}" eval "${var}=\${${var}:-$dfl}"
fi fi
fi fi
[ $SCRIPTING ] \ [ $SCRIPTING ] \
&& echo "$2=${!2}" && echo "$var=${!var}"
if [ -z ${!2} ] ; then if [ -z ${!var} ] ; then
return 1 return 1
fi fi
} }

View File

@ -70,11 +70,14 @@ pctPushAssets $ID
echo "# Setup: users..." echo "# Setup: users..."
while true ; do while true ; do
xread "user name for ssh: " SSH_USER xread "User name for ssh (empty to skip): " SSH_USER
[ -z $SSH_USER ] \ if ! [ -z "$SSH_USER" ] ; then
|| @ lxc-attach $ID -- adduser $SSH_USER break
read -ep "Add another user? [y/N] " MORE fi
if [[ $MORE == 'y' ]] ; then
@ lxc-attach $ID -- adduser $SSH_USER
if xreadYes "Add another user?" ; then
continue continue
fi fi
break break