shell函数实现输出到控制台是一种效果,管道或重定向是另一种效
linux吧
全部回复
仅看楼主
level 1
Sylvanashe 楼主
请问shell大神
像 ls / 输出到控制台时一行会显示多个文件名,但是传给管道或重定向时就不是,例如ls / | wc -l
还有 ls / --color=auto 输出到控制台时有颜色控制码,但是传给管道或重定向时就没有
同理grep也是一样的,请问这样的功能是怎么实现的?
怎么编写一个函数,当该函数输出到控制台是一种效果,而传到管道或是重定向又是另一种效果呢?
ps:不是stdout和stderr哦
2024年04月22日 10点04分 1
level 7
isatty 判断是否要输出的是终端
2024年04月25日 06点04分 2
多谢,虽然你给的是c语言的判断方法,但是我根据它去搜到了shell的办法,就是用 [ -t 1 ] 做判断,其中0/1/2分别代表stdin/stdout/stderr
2024年04月27日 06点04分
1