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
,或將其作為此處文件嵌入到您自己的腳本中。