Linux 系统中有个很有意思的命令,管道,也就是竖线(|),使用方法为
1 | $ cmd1 | cmd2 |
| 可以将 cmd1 的运行结果传递给 cmd2,这个命令非常灵活多用。
比如:
1 | $ curl http://baidu.com | grep 'bai' |
在 Go 中的应用
管道的内容,位于 os.Stdin 里,通过 os.Stdin 的 mode 值来判断程序是否通过管道调用,然后通过 bufio 包获取数据
1 | package main |
可以对它进行封装
1 | func HasStdin() (string, bool) { |
完整代码见demo
最近热读
扫码关注公众号,或搜索公众号“温欣爸比”
及时获取我的最新文章