只是好奇,这是ls的正常预期行为:
- user@host:~$ls
- Codes Documents Music Pictures Templates
- Desktop Downloads Papers Public Videos
但是当我使用带管道/重定向的ls时,它的行为类似于ls -1:
- user@host:~$ls | cat
- Codes
- Desktop
- Documents
- Downloads
- Music
- Papers
- Pictures
- Public
- Templates
- Videos
为什么? (以及如何编写这样的程序,在这样的stdout和管道之间提供差异输出?)
附:我还设置别名l =’ls -F’,这次管道/重定向不再是ls -1样式:
- user@host:~$l | cat
- Codes/ Documents/ Music/ Pictures/ Templates/
- Desktop/ Downloads/ Papers/ Public/ Videos/
不使用别名,它以ls -1样式执行命令,但是:
- $ls -F | cat
- Codes/
- Desktop/
- Documents/
- Downloads/
- Music/
- Papers/
- Pictures/
- Public/
- Templates/
- Videos/