Как создать массив, содержащий имена всех файлов в папке?

Software_t спросил: 11 июня 2018 в 11:10 в: bash

Учитывая папку (мой сценарий получает эту папку как аргумент), как я могу создать массив, который будет содержать имена всех файлов в этой папке (и файлы, которые существуют в любой папке в этой папке и другая папка - рекурсивно)?

Я пытался сделать это так:

#!/bin/bashfunction get_all_the_files {
for i in "${1}"/*; do
         if [ -d "$i" ]; then 
            get_all_the_files ${1}
         else
            if [ -f "${i}" ]; then
                arrayNamesOfAllTheFiles=(${arrayNamesOfAllTheFiles[@]} "${i}")
            fi
         fi
done
}arrayNamesOfAllTheFiles=()get_all_the_files folderdeclare -p arrayNamesOfAllTheFiles

Но это не работает. В чем проблема и как ее исправить?

0 ответов