autostart rc.local 2>&1 redirect, 'open /dev/tty: нет такого устройства или адреса'

Я пытаюсь выполнить эту команду с rc.local:

wget http://address/file -P /root/ 2>&1 | stdbuf -o0 awk '/[.] +[0-9][0-9]?[0-9]?%/ { print substr($0,63,3) }' | whiptail --gauge "Progress" 6 78 0

Выше команда показывает процент загрузки какого-либо файла. Он работает без проблем из пользовательской оболочки после входа в систему, но когда я пытаюсь запустить это из rc.local, я получаю:

open /dev/tty: No such device or address

Я обнаружил, что "2>$1" делает проблему и на: https://stackoverflow.com/questions/21786633/init-script-dev-tty-no-such-device-or-address-error-on-redirect кого-то предложил заменить "2>&1" на "3>&2 2>&1 1>&3 3>&-". К сожалению, это не работает для меня.

Что еще более любопытно, эта команда работает в Ubuntu 12.04, но не работает 14.04.1. Кто-нибудь знает, как заставить эту команду (или перенаправление) работать?

1 ответ

Если это работает из оболочки, но не из rc.local, скорее всего, это связано с окружающей средой. Первое, что я хотел бы сделать, это заменить команды на полный путь. Например:

/usr/bin/wget http://address/file -P /root/ 2>&1 | /usr/bin/stdbuf ...
Другие вопросы по тегам