Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

write - Nachricht an einen Benutzer senden

&pagelevel(4)&pagelevel

(write to another user)


Es können nur die Benutzer Nachrichten empfangen, die mit Zeichenterminals arbeiten, d.h. über rlogin Zugang zur POSIX-Shell erhalten haben.
Dagegen können alle Benutzer Nachrichten senden, also auch die Benutzer, die mit Blockterminals arbeiten.


write sendet Nachrichten an einen anderen Benutzer. write liest zeilenweise von der Standard-Eingabe und schickt die eingelesenen Zeilen als Nachrichten an den angegebenen Benutzer. Beim Aufruf von write erscheint auf dem Bildschirm des Empfängers zuerst ein Nachrichtenkopf, der die Kennung des Senders, seine Datensichtstation und die Sendezeit enthält. Danach erscheinen die Nachrichten.

Benutzer können miteinander kommunizieren, wenn sie sich gegenseitig mit write Nachrichten senden (siehe Benutzer-Dialog).

Vor dem Aufruf beachten

An Benutzer, die ihre Datensichtstation mit mesg -n für Nachrichten gesperrt haben oder an Benutzer, die auf einem Blockterminal arbeiten, können Sie keine Nachrichten mit write schicken. Ein Benutzer mit POSIX-Verwalterberechtigung kann Nachrichten an alle Datensichtstationen schicken, auch wenn diese für die Nachrichtenübermittlung mittels mesg -n gesperrt sind.

Syntax

write empfänger[ tty-name]
text
...
...
... CTRL+D

empfänger

Kennung eines Benutzers, der an einer Datensichtstation angemeldet ist. Sie können auch Nachrichten an sich selbst schicken. Wenn ein Benutzer an mehreren Datensichtstationen gleichzeitig angemeldet ist, können Sie zusätzlich die Datensichtstation angeben.

Mit who erfahren Sie alle aktuell angemeldeten Benutzer und ihre Datensichtstationsnummern.

tty-name

Nummer der Datensichtstation, an der der Empfänger angemeldet ist.

tty-name nicht angegeben:
write sucht die Datensichtstation aus der Datei /var/adm/utmp. Wenn ein Benutzer mehrfach angemeldet ist und es daher mehrere Einträge gibt, verwendet write den ersten Eintrag, der dort verzeichnet ist. Es wird folgende Meldung ausgegeben:

write: user is logged on more than one place.
you are connected to "tty-name".
Other locations are:
        tty-name

        ...

text

Text, der als Nachricht geschickt werden soll. write liest zeilenweise von der Standard-Eingabe bis zum Dateiende-Zeichen:

  • eine Zeile, die mit einem Ausrufezeichen ! beginnt, interpretiert write als Kommando und übergibt den Rest der Zeile der Shell. Das Kommando wird ausgeführt, write bleibt aktiv. Ausgaben, die das Kommando auf die Standard-Ausgabe schreibt, werden nicht in die Nachrichten aufgenommen.

  • jede andere Zeile wird als Nachricht an den Empfänger geschickt

  • wenn write das Dateiende-Zeichen liest, gibt es zum Abschluss beim Empfänger Dateiende („EOT\n“) aus und beendet sich.

  • Nichtdruckbare Zeichen (mit Ausnahme von \d, \v, \n, \r und \a) werden vor dem Senden umgewandelt.
    Steuerzeichen werden als Folge Dach ^<Großbuchstabe> dargestellt. <Großbuchstabe> ist der Buchstabe, der sich im ASCII-Zeichensatz durch Setzen des 7. Bits ergibt.
    So wird zum Beispiel „\003“ als „^C“ dargestellt.

Benutzer-Dialog

Benutzer können miteinander kommunizieren, wenn sie sich gegenseitig mit write Nachrichten senden. Der Ablauf bei zwei Benutzern ist wie folgt:

  1. Der erste Benutzer ruft write mit der Kennung des zweiten Benutzers auf. Der zweite Benutzer erhält den Nachrichtenkopf und erfährt, dass der erste Benutzer mit ihm kommunizieren möchte.
    Message from sender ( terminal ) [ zeit ]
    Der erste Benutzer erkennt an einem zweifachen Klingelzeichen, dass die Verbindung zustande gekommen ist und der zweite Benutzer Nachrichten entgegennehmen kann.

  2. Der zweite Benutzer ruft nunmehr write mit der Kennung des ersten Benutzers auf.
    write sender [ terminal ]
    Der erste Benutzer erhält den Nachrichtenkopf als Antwort.

  3. Jetzt können beide Benutzer sich gegenseitig Nachrichten senden. Jeder Benutzer sollte das Ende einer Nachricht eindeutig kennzeichnen, damit der andere weiß, wann er antworten kann. Sinnvoll ist auch ein Kennzeichen für das Dialogende.

  4. Sie beenden den Dialog, indem Sie CTRL+D oder CTRL+C drücken. Wenn Sie zusätzlich verhindern möchten, dass der andere Benutzer weiterhin Nachrichten sendet, dann rufen Sie mesg -n auf.

Fehler

user is not logged on. oder user is not at " tty "

Der Empfänger ist nicht angemeldet.


Permission denied.

Die Datensichtstation des Empfängers ist schreibgeschützt (siehe mesg) oder der Empfänger arbeitet mit einem Blockterminal.


Warning: You have your terminal set to "mesg -n". No reply possible.

Die eigene Datensichtstation ist für Nachrichten anderer Benutzer gesperrt.


Warning: You are on a Block terminal. No reply possible.

Die eigene Datensichtstation ist für Nachrichten anderer Benutzer gesperrt.


Can no longer write to tty-name
Nach Beginn der Übertragung wurde Schreibschutz für die Datensichtstation des Empfängers gesetzt (siehe mesg).

Datei

/var/adm/utmp

Datei, in der alle angemeldeten Benutzer registriert sind.

/usr/bin/sh

Kommandointerpreter für das Kommando Ausrufezeichen !.

Endestatus  

0Erfolgreiche Ausführung
>0Der Empfänger ist nicht angemeldet oder die Datensichtstation des Empfängers ist schreibgeschützt.

Internationale Umgebung

Die folgenden Umgebungsvariablen beeinflussen die Ausführung des Kommandos write:

LANG

Gibt einen Standardwert für die Variablen für die internationale Umgebung an, die nicht gesetzt oder Null sind. Ist LANG nicht gesetzt oder Null, wird der entsprechende Standardwert der internationalen Umgebung verwendet. Enthält eine der Internationalisierungsvariablen eine ungültige Einstellung, verhält sich das Kommando so, als sei keine der Variablen definiert worden.

LC_ALL

Ist diese Variable auf einen Wert gesetzt, d. h. ist sie nicht leer, überschreibt dieser Wert die Werte aller übrigen Internationalisierungsvariablen.

LC_CTYPE

Legt die internationale Umgebung für die Interpretation der Byte-Folgen eines Datentexts als Zeichen fest (z.B. Singlebytezeichen im Unterschied zu Mehrbytezeichen in Argumenten und Eingabedateien) sowie die Einteilung der Zeichen in Groß- und Kleinbuchstaben und deren Übereinstimmung.

LC_MESSAGES

Legt die internationale Umgebung für Format und Inhalt der Diagnosemeldungen fest, die in die Standardfehlerausgabe geschrieben werden. Die hier angegebene internationale Umgebung gilt auch für informative Meldungen, die auf die Standard-Ausgabe geschrieben werden.

NLSPATH

Legt den Pfad der Meldungsdateien für LC_MESSAGES fest.

Beispiel

An die Benutzerin karin eine Meldung schicken:

$ write karin

!date

Mon Oct 13 19:00:13 MSZ 2008

heute am 15.10. bin ich gespannt,
was passiert CTRL+D

Siehe auch

mailx, mesg, pr, sh, talk, who