Why doesn't less's tail/scroll mode work with pipes?

For example, I'd like to make a build script pipe to less in order to make the output of the build script scrollable. So...

make | less +F


echo "make | less +F" | sudo sh

...would conceptually do what I want, but I get a blank screen. As soon as I exit scroll mode, I see as much of the script's output as was printed to the console at the time I exited scroll mode and less stops updating from that point forward. Typing F in less again has no effect.


I had a similar question a while ago:

Use `less` pager on file with non-standard encoding

less +F does not work on pipes at all (only on regular files), due to the way it's implemented (see my own answer to the question above).

The only workaround apparently is to redirect the script's output into a temp file (using >). Then you can use less +F on the temp file.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.