Чтобы хранить имена файлов в массиве с помощью Bash, вы можете использовать различные методы. Вот несколько примеров:
Метод 1: использование присваивания цикла и массива
files=()
for file in *; do
if [ -f "$file" ]; then
files+=("$file")
fi
done
Способ 2. Использование команды поиска
files=()
while IFS= read -r -d '' file; do
files+=("$file")
done < <(find . -type f -print0)
Метод 3. Использование подстановки (при условии, что вы хотите хранить все файлы в текущем каталоге)
shopt -s nullglob
files=(*)
Способ 4. Использование команды ls (не рекомендуется, если имена файлов содержат пробелы или специальные символы)
files=($(ls))
Эти методы заполнят массив files
именами всех файлов в текущем каталоге. Вы можете получить доступ к именам файлов, проиндексировав массив (${files[0]}
, ${files[1]}
и т. д.) или используя расширение ("${files[@]}"
).