Получение текстового шаблона crontab из скрипта bash

Получение текстового шаблона crontab из скрипта bash

crontab -eизначально берет текстовый шаблон, видимо из этого файлаhttps://anonscm.debian.org/cgit/pkg-cron/pkg-cron.git/tree/crontab.c. Я хотел бы программно извлечь этот блок текста, чтобы затем добавить строки с заданиями cron в конец шаблона, чтобы он выглядел как отредактированный вручную файл cron.

crontab -e > somefileне работает, так как зависает на интерактивной оболочке.

crontab -l > somefileтакже не работает, поскольку при создании учетной записи пользователя отсутствует файл crontab.

Я мог бы попробовать и sedтекстовый шаблон, но где он будет находиться в работающей системе? И также, будет ли он присутствовать, скажем, в образе (Ubuntu), развернутом хостинг-провайдером, или мне нужно будет сначала добавить исходный репозиторий в список apt?

Может быть, более простым способом было бы export VISUAL=nano; crontab -eотправить Ctrl+o, Enter, Ctrl+X, чтобы создать новый файл crontab без взаимодействия с пользователем? Но как отправить нажатия клавиш в интерактивную оболочку внутри скрипта bash?

решение1

Поскольку шаблон встроен в crontabсаму программу, нет необходимости в его существовании в каком-либо другом файле.

Чтобы извлечь его в системе, где у вас нет crontab, попробуйте временно установить в редакторе touch.

VISUAL=touch crontab -e
crontab -l >saved

Вы также можете извлечь его с помощью stringsили просто встроить его как документ в свой собственный скрипт.

Связанный контент