Заголовок моего вопроса добровольно провокационный.
«Да, конечно» будет первым ответом для поклонника mac (как и я).
«Это не так очевидно» - мой авто- после трех дней борьбы, поиска и пота в очень расстраивающем настроении, что, как я считаю, должно быть намного проще.
Моя проблема: я написал простой скрипт bash для резервного копирования некоторых важных файлов в другом месте назначения,Я назвал этот скрипт «резервным копированием».Одна из содержащихся команд выглядит следующим образом:
cp "$(latest "Library/Application Support/Firefox/Profiles/xyhlne3n.default/bookmarkbackups")" /Users/me/Backup
Это, очевидно, «подстановка команд» в речи bash.Теперь сам мой скрипт, который содержит больше команд, в первую очередь
. ~/.bashrc
, чтобы каждая неинтерактивная оболочка могла распознавать «последние», функцию, которую я определил в .bashrc для извлечения самой последнейизмененный файл внутри директории, работает с брелоком при запуске из оболочки.Но я был бы очень рад, если бы мог запускать его на регулярной основе с launchd, который, как я узнал, НЕ МОЖЕТ, помимо прочего, анализировать $VAR
, и поэтому он не может выполнить задание.
Есть ли способ сделать так, чтобы launchd digest моя «последняя» функция определялась так:
function latest {
unset -v latest;
for file in "$1"/*; do
[[ $file -nt $latest ]] && latest=$file
done
echo "$latest"
}
?
Поскольку при каждой загрузке это приводит к одной и той же ошибке:
cp: fts_open: нет такого файла или каталога.
Спасибо