Я пытаюсь создать скрипт, который найдет файлы, возьмет их dirnames, а затем отправится туда и что-то предпримет. У меня проблема с добавлением элементов в массив, кто я хочу быть контейнером dirnames.Bash scripting & array pushing
код выглядит следующим образом:
dirnames=()
while read -r line; do
echo "Looking for dirname "$line
dirname=$(dirname $(egrep -lir --include=pom.xml "<name>"$line"</name>" $application_dir))
dirnames+=($dirname)
done < $modules_file
echo "Acquired dirnames"
echo $dirnames
И это ответ:
Looking for dirname a
Looking for dirname b
Looking for dirname c
Acquired dirnames
/home/user/dev/workspace/a
У меня есть только первый реж в моем "массив". Похоже, что все остальные итерации отсутствуют, и я знаю, что эти другие dirnames найдены из-за того, что я пытаюсь поменять местами.
Я много читал о массивах в bash, но везде этот подход работает отлично.
Любые советы?
Ох, дерьмо - спасибо за это, я где-то видел, что кто-то перечисляет целый массив только с именем массива. большое спасибо – Lidjan