Отображение сообщений к tty, использующему whiptail через monit

paste -sd ',\n' file.in > file.out

Также обратите внимание, что, потому что мы просто заменяем один символ другим (любая новая строка с запятой), мы можем работать над входным файлом на месте:

paste -sd ',\n' file.in 1<> file.in

(но остерегайтесь, это не могло бы работать над системами не-Unix, которые имеют разделители CRLF (как Microsoft), что некоторые эмулировали POSIX paste мог бы рассматривать в не-Unix путь),

1
04.06.2014, 02:12
2 ответа

Я просто попробовал следующее и смог отправить вывод от своего рабочего стола до /dev/tty2 использование whiptail таким образом, я думаю, что Вы делаете, казался бы выполнимым. Несколько вещей, которые я заметил.

1. полномочия

Я должен был быть корнем для отправки чего-либо в /dev/tty2. Я предполагаю, что Вы выполняете это как a monit пользователь, у которого, скорее всего, не было бы полномочий отправить данные в и tty устройство.

2. --infobox

--infobox переключатель, казалось, не работал в моей текущей оболочке, но я смог отправить --infobox кому: /dev/tty2. YMMV. --msgbox работавший в обоих случаях.

0
28.01.2020, 02:03
  • 1
    я могу отправить echo 'Hello World.' >/dev/tty1 использование monit, таким образом, это не полномочия. Кроме того, --infobox отклонит себя, не ожидая ввода данных пользователем, но дисплей останется при отправке его от другой консоли. –  Yuri 25.07.2013, 15:22

"Уловка" заключается в том, что whiptail (например, диалог) записывает свои сообщения по умолчанию в стандартную ошибку , поскольку обычная программа использует стандартный вывод для обновления экрана.

Вы можете перенаправить стандартную ошибку, поместив 2 рядом с меткой > :

#!/bin/bash
/usr/bin/whiptail --infobox 'Hello World.' 7 25 2>/dev/tty1

Дополнительная литература:

0
28.01.2020, 02:03

Теги

Похожие вопросы