switch statement - Bash - read case with multiple selections -


i'm using following code in script.

#!/bin/bash  while true;     read -p "do choice: [1] [2] [3] [4] [e]xit: " choice     case "$choice" in         [1]* ) echo -e "$choice\n"; break;;         [2]* ) echo -e "$choice\n"; break;;         [3]* ) echo -e "$choice\n"; break;;         [4]* ) echo -e "$choice\n"; break;;         [ee]* ) echo "exited user"; exit;;         * ) echo "are kidding me???";;     esac done 

my question is, how can script accept multiple choices. input like: 1,4, run case [1] , [4]?

set ifs include commas:

ifs=', ' 

then process choices in loop (note -a flag read input treated array):

while true;     read -p "do choice: [1] [2] [3] [4] [e]xit: " -a array     choice in "${array[@]}";         case "$choice" in             [1]* ) echo -e "$choice\n";;             [2]* ) echo -e "$choice\n";;             [3]* ) echo -e "$choice\n";;             [4]* ) echo -e "$choice\n";;             [ee]* ) echo "exited user"; exit;;             * ) echo "are kidding me???";;         esac     done done 

Comments

Popular posts from this blog

php - Vagrant up error - Uncaught Reflection Exception: Class DOMDocument does not exist -

vue.js - Create hooks for automated testing -

Add new key value to json node in java -