是否有跨平台的方法来检查stdout是否通过管道传递到Rust中的另一个程序中?

时间:2019-01-02 22:01:29

标签: rust pipe tty

当输出通过管道而不是终端连接到其他地方时,我想禁用颜色。

1 个答案:

答案 0 :(得分:1)

翻译成POSIX语言,您的问题是:“不是stdout不是TTY”,因此可以通过!isatty(STDOUT_FILENO)获得* nix的答案。 libc板条箱可用于从Rust进行调用。

在Windows上,它很复杂,因此最好使用atty条板箱。