LINUX.ORG.RU

mapfile в bash


0

1

Есть задача получить имя первого по порядку файла в директории, при его наличии. Решил воспользоваться новомодной (BASH v4) функцией mapfile, однако результат несколько неожиданный.

mapfile -n 1 -t FILES < <(ls -1 *.rar)
echo ${#FILES[@]}

Даже при отсутствии файлов в массив записывается один элемент со значением «0».

Сейчес только въехал, что "0" - это имя одного из файлов, лежащего в тестовой дире. Странно что откуда-то берётся, если не соответствует маске. Помогло заключение аргумента ls с маской в кавычки. :)

frozen_twilight ★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.