17 个版本

使用旧的 Rust 2015

0.2.14 2020年1月5日
0.2.13 2019年7月16日
0.2.11 2018年7月22日
0.2.8 2018年3月7日
0.1.0 2015年7月10日

#780 in 命令行界面

Download history 977048/week @ 2024-03-14 993119/week @ 2024-03-21 976672/week @ 2024-03-28 981422/week @ 2024-04-04 979533/week @ 2024-04-11 964215/week @ 2024-04-18 900670/week @ 2024-04-25 893192/week @ 2024-05-02 888137/week @ 2024-05-09 935250/week @ 2024-05-16 912890/week @ 2024-05-23 992305/week @ 2024-05-30 942382/week @ 2024-06-06 944021/week @ 2024-06-13 938174/week @ 2024-06-20 764870/week @ 2024-06-27

3,775,507 个月的下载量
少于 730 crates 中使用

MIT 许可证

10KB
144

atty

Build Status Build status Coverage Status crates.io Released API docs Master API docs

你是 tty 吗?你不是 tty 吗?

安装

将以下内容添加到您的 Cargo.toml

[dependencies]
atty = "0.2"

使用

use atty::Stream;

fn main() {
  if atty::is(Stream::Stdout) {
    println!("I'm a terminal");
  } else {
    println!("I'm not");
  }
}

测试

此库已在 Unix 和 Windows 平台上进行单元测试(通过 appveyor)。

此 repo 中提供了一个简单的示例程序来测试各种 tty。默认情况下。

它打印

$ cargo run --example atty
stdout? true
stderr? true
stdin? true

要测试 std in,将一些文本管道到程序中

$ echo "test" | cargo run --example atty
stdout? true
stderr? true
stdin? false

要测试 std out,将程序管道到某个地方

$ cargo run --example atty | grep std
stdout? false
stderr? true
stdin? true

要测试 std err,将程序管道到重定向 std err 的某个地方

$ cargo run --example atty 2>&1 | grep std
stdout? false
stderr? false
stdin? true

Doug Tangren (softprops) 2015-2019

依赖项

~225KB