Правильный синтаксис::
list=($(ls -t *.jpg *.png | head -10))
echo First element: ${list[0]}
echo Last element: ${list[9]}
Однако это решение будет иметь проблемы с именами файлов, содержащими символы пробела (или вообще любые пробелы ).
чистый баш:
for line in *.tar;do [ -d "${line%.tar}" ] || echo $line;done