You can use the following read
sentence, in which the @
is defined as field separator:
$ var="name@gmail.com"
$ IFS="@" read var1 var2 <<< "$var"
Then see how the values have been stored:
$ echo "var1=$var1, var2=$var2"
var1=name, var2=gmail.com
You can also make use of cut
:
$ name=$(cut -d'@' -f1 <<< "$var")
$ email=$(cut -d'@' -f2 <<< "$var")
$ echo "name=$name, email=$email"
name=name, email=gmail.com