我有一个有点令人烦恼的问题:在 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
程序前面加上 egfoomatic_
或barmatic_
,在这种情况下,我可以将所有目录添加到路径中,但我也不喜欢这个(实际上,我有很多这样的程序)。
有什么技巧可以bash
理解foomatic/featurizer
为某个地方的有效命令PATH
吗?