Объединение строковой переменной внутри цикла for в оболочке bash [закрыто]

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
А какой у тебя вопрос?
rzymek

Ответы:

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
Вы уверены, что правильно использовать sigil перед именем переменной слева от присваивания? В любом случае, лучше просмотрите весь пост, начиная с этого комментария.
Манатворк
Лучше. :) Теперь комментарий. Затем выполнить и захватить findвывод. Тогда переменная массива в for«S inстатьи.
Манатворк
1
Конечная точка, вероятно , будет , что лучше использовать не цикл: var="$(IFS=; echo "${names[*]}")". Поэтому, если вы не хотите обучать владельца вопроса, нет большой пользы в исправлении его множественных синтаксических ошибок.
Манатворк
1
Вы забыли $, строка цикла for должна читатьсяfor name in ${names[@]}
bcattle
6

+ Изменить

$var = $var$name   

в

var=$var$name   
rzymek
источник