fdmarp
(usa Debian)
Enviado em 18/03/2015 - 13:10h
Todas as soluções apresentadas são boas e deve existir mais algumas outras muito boas também, mas pela sua dúvida me parece que está iniciando e vou te dar alguns toques.
Existe um separador padão de input (IFS - Input Field Separator) que em geral é o branco (" ") e algumas ve, se quizer ver o seu de um echo $IFS ... não apareceu nada ... pois é ... é branco.
Então na sua questão o que você precisaria fazer é ... ou transformar o ; em espaço que é o IFS padrão, ou transformar o IFS em ";", como se faz isso?? Simples IFS=";".
ex.:
#!/bin/bash
string="abc@hotmail.com;xyz@gmail.com;uvw@yahoo.com"
IFS=";" ;for mail in $string; do
echo $mail
done