当前位置: 技术问答>linux和unix
如何判断不同的输出渠道?
来源: 互联网 发布时间:2016-07-21
本文导语: 我在用mysql客户端的时候,发现一个问题: mysql -e "show global variables like 'timestamp'" +---------------+------------+ | Variable_name | Value | +---------------+------------+ | timestamp | 1260339013 | +---------------+-----------...
我在用mysql客户端的时候,发现一个问题:
第一个是通过标准输出,打印的结果用横线和竖线制成了表格;
而第二个则通过管道,却没有了表格。
这意味着mysql程序可以判断程序的输出渠道,从而打印不同的输出格式,这是如何做到的呢?
mysql -e "show global variables like 'timestamp'"
+---------------+------------+
| Variable_name | Value |
+---------------+------------+
| timestamp | 1260339013 |
+---------------+------------+
mysql -e "show global variables like 'timestamp'" | cat
Variable_name Value
timestamp 1260339147
第一个是通过标准输出,打印的结果用横线和竖线制成了表格;
而第二个则通过管道,却没有了表格。
这意味着mysql程序可以判断程序的输出渠道,从而打印不同的输出格式,这是如何做到的呢?
|
isatty(stdout)来判断是否终端。