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