Скрипт действительно странновато написан.
Подскажите новичку - как определить что в переменной $filename содержится имя папки для передачи этого имени в начало скрипта
$filename берет значения в виде имен
файлов из массива $path*. А $path берет свои значения из $1 - параметра запуска из командной строки.
Т.е., запускаем скрипт: script /home/user/files/. Следовательно $1="/home/user/files/". Потом $path=$1="/home/user/files/", и $filename последовательно берет значения из /home/user/files/*.
Из-за особенностей скрипта параметр пути должен оканчиваться на /
и вот еще прикольный момент:
fname=$filename # Удалить путь из имени файла.
кто все-таки будет удалять путь из имени файла непонятно. Следовательно передаваемый скрипту путь не должен содержать пробелов.