Add interactive dialog utility functions
This commit is contained in:
parent
915b0db08b
commit
21b5f8ff2d
1 changed files with 35 additions and 2 deletions
|
@ -5,11 +5,11 @@ log() {
|
|||
local message="$2"
|
||||
|
||||
print_user_message() {
|
||||
echo "[tori] $(date "+%H:%M:%S"): $1" 1>&2
|
||||
printf "%b\n" "[tori] $(date "+%H:%M:%S"): $1" 1>&2
|
||||
}
|
||||
|
||||
print_debug_message() {
|
||||
echo "$(date "+%H:%M:%N") $1" 1>&2
|
||||
printf "%b\n" "$(date "+%H:%M:%N") $1" 1>&2
|
||||
}
|
||||
|
||||
if [ -z "$DEBUG" ]; then
|
||||
|
@ -43,6 +43,39 @@ log() {
|
|||
fi
|
||||
}
|
||||
|
||||
confirm() {
|
||||
local question="$1"
|
||||
local answer=
|
||||
read -rp "$question [y/N] " answer
|
||||
|
||||
if [ "$answer" == y ] || [ "$answer" == Y ]; then
|
||||
return 0;
|
||||
else
|
||||
return 1;
|
||||
fi
|
||||
}
|
||||
|
||||
ask() {
|
||||
local question="$1"
|
||||
local options="$2"
|
||||
local answer=
|
||||
local options_count=0
|
||||
local dialog_options=
|
||||
|
||||
local IFS=,
|
||||
for option in $options; do
|
||||
_=$((options_count+=1))
|
||||
dialog_options="$dialog_options\n [$options_count] $option"
|
||||
done;
|
||||
IFS=
|
||||
|
||||
printf "%s" "$question" >&2
|
||||
printf "%b" "$dialog_options" >&2
|
||||
printf "\n%s" "Choose an option [1-$options_count] " >&2
|
||||
read -r answer
|
||||
echo "$answer"
|
||||
}
|
||||
|
||||
set_opts() {
|
||||
local target="$1"
|
||||
local sign=
|
||||
|
|
Loading…
Reference in a new issue