bash スクリプト内から crontab テキスト テンプレートを取得する

bash スクリプト内から crontab テキスト テンプレートを取得する

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 -eCtrl+o、Enter、Ctrl+X を送信して、ユーザーの介入なしに新しい crontab ファイルを作成することでしょうか? しかし、bash スクリプト内の対話型シェルにキーストロークを送信するにはどうすればよいでしょうか?

答え1

テンプレートはcrontabプログラム自体に埋め込まれているため、他のファイルに存在する必要はありません。

crontab がないシステムで抽出するには、エディターを一時的に に設定してみてくださいtouch

VISUAL=touch crontab -e
crontab -l >saved

stringsまた、 を使用して抽出したり、独自のスクリプトにヒアドキュメントとして埋め込んだりすることもできます。

関連情報