У меня есть файл («IPcontainer»), содержащий одиночный IP-адрес, и я хочу использовать его следующим образом:
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
Смотрите также