I am not aware of any pure Mathematica solution. The usual way is to read from the stream
stream = OpenRead["!cat"]
You can do this directly with any read functions, such as
ReadList, etc. For example,
I spent a considerable amount of time searching for a simpler solution, and while I cannot rule out that it exists, I wasn't able to find it. You can also read from
StartProcess["cat"] (it's readable as a stream), but that's basically the same thing.
These solutions do read all lines on OS X. wolframscript (new in 11) can read from stdin without extra help, but it's buggy: it only reads the data available in the buffer, and then it exists. It doesn't wait for new data like