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

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

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

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.