Allow for multiple entries like 1 2 3 4 5

Should replace the need to type 
1<Enter>2<Enter> 
etc. and allows for 
1 2 3 4 5<Enter>
This commit is contained in:
Fabien Mathey 2017-11-28 15:15:12 +01:00 committed by GitHub
parent 71922f9def
commit 3105192312
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -239,12 +239,14 @@ menu() {
} }
prompt="Check an option (again to uncheck, ENTER when done): " prompt="Check an option (again to uncheck, ENTER when done): "
while menu && read -rp "$prompt" num && [[ "$num" ]]; do while menu && read -rp "$prompt" numinput && [[ "$numinput" ]]; do
for num in $numinput; do
[[ "$num" != *[![:digit:]]* ]] && (( num > 0 && num <= ${#options[@]} )) || { [[ "$num" != *[![:digit:]]* ]] && (( num > 0 && num <= ${#options[@]} )) || {
msg="Invalid option: $num"; continue msg="Invalid option: $num"; break
} }
((num--)); msg="${options[num]} was ${choices[num]:+un}checked" ((num--)); msg="${options[num]} was ${choices[num]:+un}checked"
[[ "${choices[num]}" ]] && choices[num]="" || choices[num]="+" [[ "${choices[num]}" ]] && choices[num]="" || choices[num]="+"
done
done done
for i in ${!options[@]}; do for i in ${!options[@]}; do