https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man1/wall.1.html
La man
pagina OS X sembra essere quasi identica a quella Linux, almeno all'inizio, in cui menziona da dove il comando riceve input. Indica STDIN per impostazione predefinita. Tuttavia non menziona la necessità superuser
di leggere da un file, a differenza di Linux man
.
Di conseguenza, la lettura da un file sembra essere un comportamento predefinito e wall
su OS X cerca semplicemente un file indipendentemente dal fatto che gli abbia dato un nome file o un messaggio effettivo, fallendo in quest'ultimo caso.
Come stopgap ho usato un heredoc per inviare messaggi wall
Come faccio a leggere il wall da STDIN come menzionato nel manuale?
Esecuzione di OS X 10.10.3
EDIT: Non sto scrivendo uno script, sto solo digitando wall hello world
in una zsh
shell in Terminal su OS X. Stessi risultati con bash
e sh
.
EDIT 2: La risposta dalla shell è effettivamente
usage: wall [-g group] [file]
o
no such file or directory
(se circondo il messaggio tra virgolette)
wall hello world
in una shell zsh in Terminal su OS X.
wall
legge dallo stdin bene. Quando esegui wall hello world
, stai specificando il messaggio sulla riga di comando , non su stdin.
echo hello world | wall
funziona. Come funziona il wall Linux allora? Sembra che decida automaticamente di prendere l'input successivo come STDIN o come nome file se esiste