crontab でファイルの内容を引数として使用するにはどうすればいいですか

crontab でファイルの内容を引数として使用するにはどうすればいいですか

単一の IP アドレスを含むファイル (「IPcontainer」) があり、次のように使用したいと思います。

6tunnel 80 $(< IPcontainer) 80

残念ながら、これは次のように cronjob として使用する場合ではなく、手動で行う場合にのみ機能します。

0 * * * * 6tunnel 80 $(< /home/<MYUSERNAME>/IPcontainer) 80

私の知る限り、cron は絶対パスに依存しています。

動作させるにはどのように変更する必要がありますか?

答え1

これは、構文をサポートしていないため、デフォルトでcron使用されているためです。/bin/sh$(< file)

置き換えるか

$(< /home/<MYUSERNAME>/IPcontainer)

POSIXによって

$(cat /home/<MYUSERNAME>/IPcontainer)

またはcron明示的にbashを使用するように指示する

SHELL=/bin/bash
0 * * * * 6tunnel 80 $(< /home/<MYUSERNAME>/IPcontainer) 80

参照

関連情報