Поскольку вы цитируете «$ FILES»
, вы передаете одну строку в параметр -a
. Вы должны передать туда отдельные файлы.
Что вам следует сделать, так это хранить файлы в массиве: это лучший способ обрабатывать несколько строк, содержащих пробелы. Я предполагаю, что ваши имена файлов не содержат символов новой строки
# read the output of `find` into an array, one element per line
mapfile -t files < <(find /path/to/directory -name '*.jpg' -not -newermt '-15 seconds')
# ...
echo "$message" | mutt -s "Images taken on $date" -a "${files[@]}" -- myemail@domain.com
# ...................................................^^^^^^^^^^^^^
Эта точная форма расширения параметров приведет к тому, что каждый элемент массива будет отдельным словом в команде.
Откажитесь от привычки использовать ALLCAPSVARNAMES: однажды вы будете использовать PATH = ...
, а затем удивитесь, почему ваш скрипт не работает
Предполагая, что у вас установлен strace:
strace /path/to/binary
изменить :Я не читал последнюю часть, в которой говорилось, что у вас нет strace, вы должны иметь возможность скачать архив strace и собрать его без использования менеджера пакетов. Вы можете создать его статически на другом компьютере и скопировать, если у вас не установлены инструменты сборки.