¿Cómo uso el contenido del archivo como argumentos en crontab?

¿Cómo uso el contenido del archivo como argumentos en crontab?

Tengo un archivo ("IPcontainer") que contiene una dirección IP singular y quiero usarlo así:

6tunnel 80 $(< IPcontainer) 80

Lamentablemente, esto sólo funciona cuando lo hago a mano en lugar de cuando lo uso como un cronjob de esta manera:

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

Hasta donde yo sé, cron se basa en rutas absolutas.

¿Cómo necesito cambiarlo para que funcione?

Respuesta1

Esto se debe a que cronutiliza /bin/shde forma predeterminada, que no admite la $(< file)sintaxis

Puedes reemplazar

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

por el POSIX

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

o decirle cronque use bash explícitamente

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

Ver también

información relacionada