Я пытаюсь написать сценарий, который будет загружать все имена файлов с помощью путей в массив в сценарии bash.Bash Script для загрузки всех файлов в каталог/подкаталоги в массив
Скажите, что я хочу, чтобы все папки и файлы вложенных папок в/home/documents/он дал мне массив файлов в конце.
Мой текущий сценарий очень простой, но должен иметь некоторые функции.
num_partitions=0
for file in /home/documents/*; do
date_partition[$num_partitions]=${file##*/}
((num_partitions++))
echo ${date_partition}
done
В настоящее время он печатает только черный экран. Как я могу исправить это, чтобы получить нужные мне функциональные возможности и правильно распечатать их?
Я новичок в Bash, это на самом деле мой первый сценарий. Пожалуйста помоги.
Еще проще: 'arr = (/ home/documents/*)' - это расширит шаблон имени файла в массиве. Это безопаснее, чем '$ (find ...)' в случае имен файлов, содержащих пробельные символы. –
Хорошая точка. Я очень привык к тому, что вам не нужно иметь дело с файлами, в которых есть пробелы. Однако остается точка зрения, что нет смысла использовать дополнительный инструмент, если он не нужен. –