Come passare STDIN al muro in OS X?


-1

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

La manpagina 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à superuserdi leggere da un file, a differenza di Linux man.

Di conseguenza, la lettura da un file sembra essere un comportamento predefinito e wallsu 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 worldin una zshshell in Terminal su OS X. Stessi risultati con bashe 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)


Per favore, aggiungi le parti pertinenti dello script che stai utilizzando in modo da poter vedere il caso d'uso?
cxw,

Non sto scrivendo una sceneggiatura. Il mio caso d'uso sta letteralmente digitando wall hello worldin una shell zsh in Terminal su OS X.
Prashanth Chandra,

OSX walllegge dallo stdin bene. Quando esegui wall hello world, stai specificando il messaggio sulla riga di comando , non su stdin.
Kenster,

Hai ragione, echo hello world | wallfunziona. Come funziona il wall Linux allora? Sembra che decida automaticamente di prendere l'input successivo come STDIN o come nome file se esiste
Prashanth Chandra il

Risposte:


0

Quindi hai visto che Linux utilizza una versione diversa wallrispetto a OS X, giusto? Uno è GNU e l'altro è BSD e hanno usi diversi.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.