Используйте переменную Bash $ IFS (внутренний разделитель полей)
dfunc () {echo "first base:second base:third base:home"}
saveIFS=$IFS
IFS=":"
dval=($(dfunc)) # make an array
IFS=$saveIFS # put $IFS back as soon as you can, you'll thank me
echo ${dval[1]}
Выходы:
вторая база
Если вы используете символ, который не отображается в ваших данных, например двоеточие, вы можете использовать другие символы, например пробелы.
И не используйте обратные тики , используйте $()
.