Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Re: psychiatric help



At 11:18 -0700 05 Apr 2026, Ray Andrews <rayandrews@xxxxxxxxxxx> wrote:
On 2026-04-05 10:39, Mark J. Reed wrote:

If its output is not going to a terminal, you get the "polite" behavior that outputs one filename per line. Any time you're doing `ls |` or `$(ls)` or `<(ls)`, the output is not going to a terminal, so you get the one-per-line behavior.
So if 'ls' is called within a function that counts as 'not a terminal'?  Man ... so easy to draw the wrong conclusion.  As above, I thought it was the array causing that.

No. Unless the function definition directs the output elsewhere, the output of ls (or any other command) in a function goes wherever the output of the function goes.

If you're starting from a terminal there can be essentially unlimited levels of scripts or other commands, aliases, or functions between the terminal and the ls execution with the output still going to a terminal as long as nothing directed the output to go somewhere else.




Messages sorted by: Reverse Date, Date, Thread, Author