rearranged getopts, added yesno function
This commit is contained in:
parent
5ad67c9e08
commit
b299bdf484
|
@ -23,21 +23,6 @@ help()
|
||||||
exit
|
exit
|
||||||
}
|
}
|
||||||
|
|
||||||
# set any options that were passed
|
|
||||||
while getopts "h" opt; do
|
|
||||||
case "${opt}" in
|
|
||||||
h )
|
|
||||||
help
|
|
||||||
exit;;
|
|
||||||
\? )
|
|
||||||
echo "Invalid option: $OPTARG" 1>&2
|
|
||||||
exit;;
|
|
||||||
: )
|
|
||||||
echo "Invalid option: $OPTARG requires an argument" 1>&2
|
|
||||||
exit;;
|
|
||||||
esac
|
|
||||||
done
|
|
||||||
|
|
||||||
# check for and set alias & email address & split in to local part & domain
|
# check for and set alias & email address & split in to local part & domain
|
||||||
if [ -n "$2" ]; then
|
if [ -n "$2" ]; then
|
||||||
if [ $1 == "-h" ] || [ $2 == "-h" ]; then
|
if [ $1 == "-h" ] || [ $2 == "-h" ]; then
|
||||||
|
@ -69,6 +54,21 @@ else
|
||||||
help
|
help
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# set any options that were passed
|
||||||
|
while getopts "h" opt; do
|
||||||
|
case "${opt}" in
|
||||||
|
h )
|
||||||
|
help
|
||||||
|
exit;;
|
||||||
|
\? )
|
||||||
|
echo "Invalid option: $OPTARG" 1>&2
|
||||||
|
exit;;
|
||||||
|
: )
|
||||||
|
echo "Invalid option: $OPTARG requires an argument" 1>&2
|
||||||
|
exit;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
# get domain_id (and thus check if domain already exists)
|
# get domain_id (and thus check if domain already exists)
|
||||||
domain_id=`mysql --defaults-extra-file=$MYSQL_CONNECTION_INFO_FILE -s -r -N -e "SELECT id from vm_domains WHERE domain='$domain';"`
|
domain_id=`mysql --defaults-extra-file=$MYSQL_CONNECTION_INFO_FILE -s -r -N -e "SELECT id from vm_domains WHERE domain='$domain';"`
|
||||||
if [ -z $domain_id ] ; then
|
if [ -z $domain_id ] ; then
|
||||||
|
|
|
@ -21,19 +21,6 @@ help()
|
||||||
exit
|
exit
|
||||||
}
|
}
|
||||||
|
|
||||||
# set any options that were passed
|
|
||||||
while getopts "h" opt; do
|
|
||||||
case "${opt}" in
|
|
||||||
h )
|
|
||||||
help
|
|
||||||
exit;;
|
|
||||||
;;
|
|
||||||
\? )
|
|
||||||
echo "Invalid option: $OPTARG" 1>&2
|
|
||||||
exit;;
|
|
||||||
esac
|
|
||||||
done
|
|
||||||
|
|
||||||
# check for and set alias search term(s)
|
# check for and set alias search term(s)
|
||||||
if [ -n "$1" ]; then
|
if [ -n "$1" ]; then
|
||||||
if [ $1 == "-h" ]; then
|
if [ $1 == "-h" ]; then
|
||||||
|
@ -55,6 +42,19 @@ if [ -n "$1" ]; then
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# set any options that were passed
|
||||||
|
while getopts "h" opt; do
|
||||||
|
case "${opt}" in
|
||||||
|
h )
|
||||||
|
help
|
||||||
|
exit;;
|
||||||
|
;;
|
||||||
|
\? )
|
||||||
|
echo "Invalid option: $OPTARG" 1>&2
|
||||||
|
exit;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
# build query
|
# build query
|
||||||
dbcmd="mysql --defaults-extra-file=$MYSQL_CONNECTION_INFO_FILE"
|
dbcmd="mysql --defaults-extra-file=$MYSQL_CONNECTION_INFO_FILE"
|
||||||
dbcmdopts="-s -r -N -e"
|
dbcmdopts="-s -r -N -e"
|
||||||
|
|
|
@ -27,31 +27,6 @@ help()
|
||||||
exit
|
exit
|
||||||
}
|
}
|
||||||
|
|
||||||
# set any options that were passed
|
|
||||||
while getopts "achs" opt; do
|
|
||||||
case "${opt}" in
|
|
||||||
a )
|
|
||||||
aliassearch=true
|
|
||||||
;;
|
|
||||||
c )
|
|
||||||
cvs="| sed 's/\t/,/g'"
|
|
||||||
;;
|
|
||||||
h )
|
|
||||||
help
|
|
||||||
exit;;
|
|
||||||
s )
|
|
||||||
dbcmdopts="-s -N $dbcmdopts"
|
|
||||||
;;
|
|
||||||
\? )
|
|
||||||
echo "Invalid option: $OPTARG" 1>&2
|
|
||||||
exit;;
|
|
||||||
esac
|
|
||||||
done
|
|
||||||
|
|
||||||
dbcmd="mysql --defaults-extra-file=$MYSQL_CONNECTION_INFO_FILE"
|
|
||||||
dbcmdopts="-e"
|
|
||||||
dbquery="SELECT vm_aliases.alias, vm_mboxes.mbox, vm_domains.domain FROM vm_aliases, vm_mboxes, vm_domains WHERE vm_aliases.mbox_id = vm_mboxes.id AND vm_mboxes.domain_id = vm_domains.id"
|
|
||||||
|
|
||||||
# check for and set alias search term(s)
|
# check for and set alias search term(s)
|
||||||
if [ -n "$1" ]; then
|
if [ -n "$1" ]; then
|
||||||
if [ $1 == "-h" ]; then
|
if [ $1 == "-h" ]; then
|
||||||
|
@ -75,6 +50,32 @@ if [ -n "$1" ]; then
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# set initial db query data
|
||||||
|
dbcmd="mysql --defaults-extra-file=$MYSQL_CONNECTION_INFO_FILE"
|
||||||
|
dbcmdopts="-e"
|
||||||
|
dbquery="SELECT vm_aliases.alias, vm_mboxes.mbox, vm_domains.domain FROM vm_aliases, vm_mboxes, vm_domains WHERE vm_aliases.mbox_id = vm_mboxes.id AND vm_mboxes.domain_id = vm_domains.id"
|
||||||
|
|
||||||
|
# set any options that were passed
|
||||||
|
while getopts "achs" opt; do
|
||||||
|
case "${opt}" in
|
||||||
|
a )
|
||||||
|
aliassearch=true
|
||||||
|
;;
|
||||||
|
c )
|
||||||
|
cvs="| sed 's/\t/,/g'"
|
||||||
|
;;
|
||||||
|
h )
|
||||||
|
help
|
||||||
|
exit;;
|
||||||
|
s )
|
||||||
|
dbcmdopts="-s -N $dbcmdopts"
|
||||||
|
;;
|
||||||
|
\? )
|
||||||
|
echo "Invalid option: $OPTARG" 1>&2
|
||||||
|
exit;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
# build query
|
# build query
|
||||||
if [ -n "$domain" ]; then
|
if [ -n "$domain" ]; then
|
||||||
# add specific domain
|
# add specific domain
|
||||||
|
|
|
@ -26,6 +26,8 @@ help()
|
||||||
exit
|
exit
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# set & check $domain here
|
||||||
|
|
||||||
# set any options that were passed
|
# set any options that were passed
|
||||||
while getopts ":s:l:q:" opt; do
|
while getopts ":s:l:q:" opt; do
|
||||||
case "${opt}" in
|
case "${opt}" in
|
||||||
|
|
|
@ -21,27 +21,6 @@ help()
|
||||||
exit
|
exit
|
||||||
}
|
}
|
||||||
|
|
||||||
# set any options that were passed
|
|
||||||
while getopts "hq:s:" opt; do
|
|
||||||
case "${opt}" in
|
|
||||||
h )
|
|
||||||
help
|
|
||||||
exit;;
|
|
||||||
q )
|
|
||||||
quota=${OPTARG}
|
|
||||||
;;
|
|
||||||
s )
|
|
||||||
status=${OPTARG}
|
|
||||||
;;
|
|
||||||
\? )
|
|
||||||
echo "Invalid option: $OPTARG" 1>&2
|
|
||||||
exit;;
|
|
||||||
: )
|
|
||||||
echo "Invalid option: $OPTARG requires an argument" 1>&2
|
|
||||||
exit;;
|
|
||||||
esac
|
|
||||||
done
|
|
||||||
|
|
||||||
# check for and set email address, local part & domain, password
|
# check for and set email address, local part & domain, password
|
||||||
if [ -n "$2" ]; then
|
if [ -n "$2" ]; then
|
||||||
if [ $1 == "-h" ] || [ $2 == "-h" ]; then
|
if [ $1 == "-h" ] || [ $2 == "-h" ]; then
|
||||||
|
@ -73,6 +52,27 @@ else
|
||||||
help
|
help
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# set any options that were passed
|
||||||
|
while getopts "hq:s:" opt; do
|
||||||
|
case "${opt}" in
|
||||||
|
h )
|
||||||
|
help
|
||||||
|
exit;;
|
||||||
|
q )
|
||||||
|
quota=${OPTARG}
|
||||||
|
;;
|
||||||
|
s )
|
||||||
|
status=${OPTARG}
|
||||||
|
;;
|
||||||
|
\? )
|
||||||
|
echo "Invalid option: $OPTARG" 1>&2
|
||||||
|
exit;;
|
||||||
|
: )
|
||||||
|
echo "Invalid option: $OPTARG requires an argument" 1>&2
|
||||||
|
exit;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
# get domain_id (and thus check if domain already exists)
|
# get domain_id (and thus check if domain already exists)
|
||||||
domain_id=`mysql --defaults-extra-file=$MYSQL_CONNECTION_INFO_FILE -s -r -N -e "SELECT id from vm_domains WHERE domain='$domain';"`
|
domain_id=`mysql --defaults-extra-file=$MYSQL_CONNECTION_INFO_FILE -s -r -N -e "SELECT id from vm_domains WHERE domain='$domain';"`
|
||||||
if [ -z $domain_id ] ; then
|
if [ -z $domain_id ] ; then
|
||||||
|
|
|
@ -18,3 +18,41 @@ function vmail::validate_domain () {
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# yesno prompt
|
||||||
|
#
|
||||||
|
# Examples:
|
||||||
|
# loop until y or n: if vmail::yesno "Continue?"; then
|
||||||
|
# default y: if vmail::yesno "Continue?" Y; then
|
||||||
|
# default n: if vmail::yesno "Continue?" N; then
|
||||||
|
function vmail::yesno() {
|
||||||
|
|
||||||
|
local prompt default reply
|
||||||
|
|
||||||
|
if [ "${2:-}" = "Y" ]; then
|
||||||
|
prompt="Y/n"
|
||||||
|
default=Y
|
||||||
|
elif [ "${2:-}" = "N" ]; then
|
||||||
|
prompt="y/N"
|
||||||
|
default=N
|
||||||
|
else
|
||||||
|
prompt="y/n"
|
||||||
|
default=
|
||||||
|
fi
|
||||||
|
|
||||||
|
while true; do
|
||||||
|
|
||||||
|
read -p "$1 [$prompt] " -n 1 -r reply
|
||||||
|
|
||||||
|
# Default?
|
||||||
|
if [ -z "$reply" ]; then
|
||||||
|
reply=$default
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Check if the reply is valid
|
||||||
|
case "$reply" in
|
||||||
|
Y*|y*) return 0 ;;
|
||||||
|
N*|n*) return 1 ;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user