Wie kann man STDIN in OS X an die Wand übergeben?

862
Prashanth Chandra

https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man1/wall.1.html

Die OS X- manSeite scheint zumindest zu Beginn fast identisch mit der Linux-Seite zu sein, auf der erwähnt wird, woher der Befehl Eingaben entnimmt. Standardmäßig ist STDIN angegeben. Es wird jedoch nicht erwähnt, superuserdass das Lesen aus einer Datei erforderlich ist, im Gegensatz zu Linux man.

Daher scheint das Lesen aus einer Datei das Standardverhalten zu sein, und wallunter OS X wird einfach nach einer Datei gesucht, unabhängig davon, ob ich ihnen einen Dateinamen oder eine tatsächliche Nachricht gegeben habe, was im letzteren Fall fehlschlägt.

Als Notlösung habe ich ein Heredoc benutzt, um Nachrichten durchzusenden wall

Wie kann ich die Wand aus STDIN lesen, wie im Handbuch erwähnt?

OS X 10.10.3 ausführen

BEARBEITEN: Ich schreibe kein Skript, ich tippe nur in Terminal unter OS X wall hello worldin eine zshShell. Gleiche Ergebnisse mit bashund sh.

EDIT 2: Die Antwort von der Shell ist tatsächlich
usage: wall [-g group] [file]
oder
no such file or directory(wenn ich die Nachricht mit Anführungszeichen umhalte)

-1
Fügen Sie bitte die relevanten Teile des derzeit verwendeten Skripts hinzu, damit wir den Anwendungsfall sehen können. cxw vor 9 Jahren 0
Ich schreibe kein Skript. Mein Anwendungsfall tippt buchstäblich "wall hello world" in eine zsh-Shell in Terminal unter OS X. Prashanth Chandra vor 9 Jahren 0
OSX `wall` liest sich gut von stdin. Wenn Sie "wall hello world" ausführen, geben Sie die Nachricht in der Befehlszeile _ an, nicht in stdin. Kenster vor 9 Jahren 0
Du hast recht, hallo Welt hallo Wand funktioniert. Wie funktioniert die Linuxwand dann? Es scheint automatisch zu entscheiden, ob die nachfolgende Eingabe als STDIN oder als Dateiname verwendet werden soll, falls vorhanden Prashanth Chandra vor 9 Jahren 0

1 Antwort auf die Frage

0
Erik Bennett

Sie haben also gesehen, dass Linux eine andere Version wallals OS X verwendet, oder? Eine ist GNU und die andere ist BSD und sie haben unterschiedliche Verwendungen.