пятница, 27 сентября 2013 г.

Широковещательное сообщение в открытые терминальные сессии Linux

Понадобилось мне давече разослать на все терминалы на удаленной машине текстовое сообщение (я преследовал свои одному мне изветные цели).

Делается это следующим образом:

1. Заходим по ssh на удаленную тачку
2. Пишем в открытом терминале:
echo -e "ЦЕЛЕВОЕ_СООБЩЕНИЕ\n" | wall


Вуа-ля, все открытые терминал внезапно получат следующий месседж:

Широковещательное сообщение от username@hostname
(/dev/pts/6) at 18:50 ...
ВАШЕ_ЦЕЛЕВОЕ_СООБЩЕНИЕ


Если же вы хотите отправить сообщение только на определенный терминал, то:

1. who #даст перечень всех залогиненых (включая и удаленных) пользователей
    cardinal tty7         2013-09-27 15:39 (:0)
    git_man tty8         2013-09-26 18:46 (:0)


2. echo -e "ЦЕЛЕВОЕ_СООБЩЕНИЕ\n" >/dev/tty7 #отошлет сообщение пользователю cardinal

На этом все.