從 bash 腳本中取得 crontab 文字模板

從 bash 腳本中取得 crontab 文字模板

crontab -e最初選取一個文字模板,顯然是從此文件中選取的https://anonscm.debian.org/cgit/pkg-cron/pkg-cron.git/tree/crontab.c。我想以程式設計方式取得該文字區塊,這樣我就可以在範本末尾附加帶有 cron 作業的行,這樣它看起來就像一個手動編輯的 cron 檔案。

crontab -e > somefile不起作用,因為它卡在互動式 shell 中。

crontab -l > somefile也不起作用,因為建立使用者帳戶時沒有 crontab 檔案。

我可以嘗試使用sed文字模板,但它會位於正在運行的系統中的什麼位置?而且,它是否會出現在由託管提供者部署的映像(Ubuntu)中,或者我需要先將原始程式碼庫新增到 apt 清單中?

也許更簡單的方法是export VISUAL=nano; crontab -e發送 Ctrl+o、Enter、Ctrl+X 來建立新的 crontab 文件,而無需使用者互動?但是如何將擊鍵傳送到 bash 腳本內的互動式 shell?

答案1

由於模板嵌入在crontab程式本身中,因此不需要它存在於任何其他文件中。

要在沒有 crontab 的系統上提取它,請嘗試暫時將編輯器設為touch.

VISUAL=touch crontab -e
crontab -l >saved

您也可以使用 提取它strings,或將其作為此處文件嵌入到您自己的腳本中。

相關內容