やや厄介な問題があります。crontab で、特定のプログラムにディレクトリのプレフィックスを付けたいのです。PATH
私のプログラムのベース名は一意ではないため、これらすべてのディレクトリをに追加することはできません(そしてディレクトリはそれらを明確にするはずです)。私が望むものの例は、説明する最も簡単な方法です:
PATH=/data/some/place/bin:/usr/local/bin:/bin:/usr/bin
*/15 * * * * foomatic/featurizer > /dev/null 2>&1
*/15 * * * * barmatic/featurizer > /dev/null 2>&1
もちろん、ディレクトリfoomatic/
とbarmatic/
が両方とも の下/data/some/place/bin
にあり、両方に という有効なプログラムがあるにもかかわらず、これは機能しませんfeaturizer
。
私が考えることができる唯一のことは次のとおりです。
PATH=/usr/local/bin:/bin:/usr/bin
B=/data/some/place/bin
*/15 * * * * $B/foomatic/featurizer > /dev/null 2>&1
*/15 * * * * $B/barmatic/featurizer > /dev/null 2>&1
しかし、それはちょっと醜いです。
別の方法として、各featurizer
プログラムの前に「eg 」foomatic_
または「」を付ける方法がありますbarmatic_
。この場合、すべてのディレクトリをパスに追加できますが、これも好きではありません (実際には、そのようなプログラムがたくさんあります)。
のどこかで有効なコマンドとしてbash
理解するためのトリックはありますか?foomatic/featurizer
PATH