Посылка сообщений командой write
Команда write посылает сообщение указанному пользователю в момент исполнения этой команды. Это означает, что адресат должен работать в системе в этот момент. Не многим нравится, когда сообщение приходит, как в данном случае, в случайный момент, в особенности во время набора собственного текста. Поэтому вы должны быть уверены в необходимости такого немедленного взаимодействия.
Типичный пример:
$ write boris Спасайся, красные окружили Белый Дом!!! ^D $
Сообщение заканчивается вводом знака конца файла Ctrl-D.
Адресат увидит у себя на экране:
Message from george tty 00 ... Спасайся, красные окружили Белый Дом!!! EOF
Если вы намерены ждать ответа и вести диалог, можно не вводить знак конца файла до конца диалога.
Пример:
$ write mary Поужинаем сегодня вечером? Извини, сегодня я иду громить памятники. (ответ)
Тогда завтра? И завтра не могу. Давай на следующей неделе? (ответ)
Ну, хорошо. EOF (ответ)
^D $
Получаемые от абонента тексты помечены словом (ответ).
На стороне абонента на экране будет:
$ Mesage from peter tty 03 ... Поужинаем сегодня вечером? Извини, сегодня я иду громить памятники. Тогда завтра? И завтра не могу. Давай на следующей неделе? (ответ)
Ну, хорошо. ^D $
Чтобы узнать, работает ли абонент в системе в данный момент, введите команду who.
Пример:
$ who george tty 00 08:30 peter tty 03 08:31 boris tty 07 04:12 mary tty 08 09:01
Текст сообщения можно взять из файла, перенаправляя стандартный ввод для write из этого файла.
Пример (сообщение из файла message):
write peter < message
Текст сообщения можно формировать, выполняя команды внутри текста. В этом случае команде предшествует восклицательный знак, например:
$ write peter Нужные тебе файлы в каталоге: !pwd /users/mary/docs/specs ! /users/mary/docs/specs ^D $
Ответ команды завершается тоже восклицательным знаком. Ни команда, ни ответ в текст сообщения не попадают.
Если вы не уверены, что полученные сообщения не нарушат вашу работу (например, ввод текстового файла), вы можете закрыться от посылаемых вам сообщений командой mesg:
$ mesg n $
где n - от no (нет).
Когда вы решите, что уже способны получать сообщения, подайте:
$ mesg y
где y - от yes (да).
Эта же команда без параметров подскажет вам, в каком состоянии по приему сообщений вы находились (no или yes), например:
$ mesg is y
т.е. прием разрешен. При входе в систему устанавливается состояние y.