不要な結果なしでcrontabにshebangを追加できますか?

不要な結果なしでcrontabにshebangを追加できますか?

これは一部の人にとって虐待として考えられるかもしれませんが、おそらく私(そして他の人)はここで何かを学ぶことができます。

私はvscodeを使用していますが、最近crontabファイルを編集するときに1を強調する構文がないため、迷惑です。簡単な解決策は、シェルスクリプトハイライトを使用することです。ただし、vscodeは拡張子のないファイルにこの強調表示スキームをロードしません。Shebangで始まらないと

もしそうなら、crontabファイルが実行可能ファイルではないことを考えると(ファイルが権限644を持つルート所有のUbuntuシステムにあると仮定します)、#!/bin/bashファイルの先頭に配置できますか?これは実際にvscodeで正しい強調表示スキームを設定し、cronjobはいつものようにうまく動作します。私が知る限り、シェバンはただファイルが実行可能かどうかを解析します。

したがって、問題は、これがどれほど悪いか(ベストプラクティスの観点から)、将来の予期しない問題(機能および/またはセキュリティ関連)に直面する可能性があります。

注:これは重複しません。この問題他の人は、crontabファイル自体に(役に立たない)shebangを入れたいので、それが好きです。

1注:はい拡張crontabを強調表示するために使用されますが、現在はここに関連していない他の制限があります。

答え1

man -s 5 crontabによると:

空白以外の最初の文字がポンド記号(#)の行はコメントであるため無視されます。

shebangは、データファイルの最初の行に奇妙な説明を提供します。

環境にはさまざまなcrontab拡張機能がありますが、コメントルールを変更できないようです(例:#pragma-type設定を使用)。

ただし、ファイルを実行可能にしないことをお勧めします。これらすべては非常に不快な方法で拡張することができます。

関連情報