Объединение строковой переменной внутри цикла 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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.