Variable de cadena de concatenación dentro de un bucle for en el shell bash [cerrado]

15
#!/bin/bash

names= find /home/devuser -name 'BI*'
echo $names

for name in {names[@]}
do    
 echo $name
 $var = $var$name   
done

echo $var
jagan
fuente
1
¿Y cuál es tu pregunta?
rzymek

Respuestas:

17
#!/bin/bash

names= find /home/devuser -name 'BI*'
echo $names

for name in {names[@]}
do    
 echo $name
 var=$var$name //$ should be removed which is prefixed before var. Blank space before and after equal sign should be removed to run this code.   
done

echo $var
Ruban Savvy
fuente
1
¿Estás seguro de que es correcto usar sigil delante del nombre de la variable en el lado izquierdo de una tarea? De todos modos, mejor revise toda su publicación, comenzando con ese comentario.
manatwork
Mejor. :) Ahora el comentario. Luego ejecutando y capturando findla salida. Luego, la variable de matriz en la cláusula for's in.
manatwork
1
El último punto será probablemente es mejor utilizar ningún bucle: var="$(IFS=; echo "${names[*]}")". Entonces, a menos que desee enseñar al propietario de la pregunta, no hay mucho beneficio en corregir sus múltiples errores de sintaxis.
manatwork
1
Olvidó un $, la línea de bucle for debería leerfor name in ${names[@]}
bcattle
5

Cambio

$var = $var$name   

a

var=$var$name   
rzymek
fuente