これは一部の人にとって虐待として考えられるかもしれませんが、おそらく私(そして他の人)はここで何かを学ぶことができます。
私は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設定を使用)。
ただし、ファイルを実行可能にしないことをお勧めします。これらすべては非常に不快な方法で拡張することができます。