BASH: comment mettre de la variable à l'intérieur de regex?

je suis d'essayer de faire fonctionner le code suivant:

searchfile="availables.txt"
read searchterm
grep_params="-i ^.*${searchterm}.*;.*$' $searchfile"
egrep $grep_params

qui devrait résonner toutes les lignes commençant par l' $searchterm et suivi par un ";". Mais si le searchterm contient des espaces, il ne fonctionne pas (par exemple: "black eyed peas"), il me donne le résultat suivant:

egrep: eyed: No such file or directory
egrep: peas.*;.*$": No such file or directory
egrep: "availables.txt": No such file or directory
  • <a href="mywiki.wooledge.org/BashFAQ/050">BASH entrée de la FAQ n ° 50: "je suis en train de mettre une commande dans une variable, mais les cas complexes sont toujours voués à l'échec!"</a>
InformationsquelleAutor Alessio | 2011-04-19