crontabの追加 - 構文

crontabの追加 - 構文
crontab -l | { cat; echo "0 0 * * * /path/to/cron/job"; } | crontab -

新しいクローンタスクを追加するために、Webからこの行を取得しました。それはうまくいきます。心の中に疑いがあり、

1)ここで中かっこが必要な理由は何ですか(または単一引用符を使用することもできます)。

{ cat; echo "0 0 * * * /path/to/cron/job"; }

cat;2)ここにコマンドが必要なのはなぜですか?

3)crontab -.私が理解したものが正しい場合、-パイプラインの以前のコマンド出力に置き換えられますか?

答え1

1) 校正装置が必要な理由

の出力との出力をcatパイプで接続しなければならないからです。中括弧がないと、2つのコマンドの出力を単一のパイプに組み合わせることはできません。echocrontab -

(またはここで一重引用符を使用することもできます)

いいえ。 ... | 'cat; echo "0 0 * * * /path/to/cron/job"' | ...cat; echo "0 0 * * * /path/to/cron/job"名前付き実行ファイルへのパイプ」を意味します。これは言葉ではありません。

cat;2)ここにコマンドが必要なのはなぜですか?

知りません。同じコンテンツをより効率的に作成できます。

{ crontab -l; echo '0 0 * * * /path/to/cron/job'; } | crontab -

3)crontab -.私が理解したものが正しい場合、-パイプラインの以前のコマンド出力に置き換えられますか?

はい、しかしこれはcrontab特にサポートされているからです。-表現に使用stdinおよび/またはsdtout多くのコマンドが理解するルールですが、これは単なるルールです。>fileまたはなどのシェルには適用されません| command

関連情報