¿Cómo hacer la concatenación de cadenas en el script bash?

abc_hosts, pwd_host_id, pwd_host_id, nombre de host, ddd_status, dddd_status,

start_hosts ,,,,,,,,,,,,,,,,,,,, 1, o1, fhffhfh, 1,1, fff, fdfd, 172.33.33.33,172.30.30.12,172.30.30.11, oreere.dff , 43,443343,1111,43435,1099,43434443444,3232321312312 end_hosts ,,,,,,,,,,,,,,,,,,, ,,,,,,,,,,,,,,,, ,,,

En primer lugar, realmente, realmente, no quiero estar haciendo este tipo de cosas en bash. Hay herramientas específicamente diseñadas para este tipo de trabajo y bash no es una de ellas. Intentar hacer cualquiera, excepto el análisis de text más básico en bash, es difícil, propenso a errores y doloroso de leer o escribir. También es muy lento.

Ahora, su error específico (por favor siempre incluya el error exacto que está recibiendo) es:

 /home/terdon/scripts/foo.sh: line 24: : command not found 

Entonces el error está en la línea 24. Específicamente, es el espacio que tienes después de =

 str4= "$str1 $str3 $str2" 

debiera ser

 str4="$str1 $str3 $str2" 

También tiene el mismo problema en la línea 25:

 arr_t[$m]= $str4 

debiera ser

 arr_t[$m]=$str4 

Le sugiero que haga una pregunta diferente, explique qué está intentando hacer su secuencia de commands y podemos darle un enfoque más sensato que bash su cabeza contra la panetworking de esta manera.