Наткнулся на такой вот скрипт, нобычный ls. Может пригодится, когда имеешь дело со странными именами файлов. Так вот, если исользовать эту функцию, то после её применения можно манипулировать с именами файлов не напрямую, а с помощью переменных. Эта функция выведет _пронумерованный_ список всех файлов в текущем (или в заданном) каталоге и присвоит их имена переменным LS1, LS2, ...
lsn() {
while read num name
do
echo "$num $name"
declare "LS$num=$name"
done <<< `ls -A1 "$@" | cat -n`
}
Но она этого не делает... Выводить-то список — выводит, только вот переменные не создаёт.