4 个稳定版本
1.0.4 | 2021年9月11日 |
---|---|
1.0.1 | 2021年9月10日 |
#27 in #虚拟
9KB
脏东西
用 Rust 编写的简单电传打字机测试虚拟
用法
$ dutty
Standard output is a TERMINAL
Standard input is a TERMINAL
Standard error is a TERMINAL
在这里,脏东西
识别出它的 stdin、stdout 和 stderr 流都是从终端来的;因此它告诉我们这些流都是终端。
让我们尝试将其标准 I/O 重定向到电传打字机
- stdin
$ dutty < somefile
Standard output is a TERMINAL
Standard input is a TELETYPE
Standard error is a TERMINAL
在这里,我们将 脏东西
的标准输入重定向到一个文件(它是一个电传打字机),因此它告诉我们 stdin 是一个电传打字机。
这也适用于管道
$ head /dev/random | dutty
Standard output is a TERMINAL
Standard input is a TELETYPE
Standard error is a TERMINAL
您可能还会注意到,脏东西
将单词 TERMINAL
和 TELETYPE
分别用绿色和红色突出显示。即使它的 stdout 或 stderr 被重定向,它也会这样做,因为它使用的是 stubborn I/O(尝试精确地写入控制台,而不管其 stdio 的状态如何)。
- stdout
脏东西
对 stdout 有类似的行为。
$ dutty | cat
Standard output is a TELETYPE
Standard input is a TERMINAL
Standard error is a TERMINAL
- stderr
脏东西
在其标准错误被重定向时具有相同的行为。
$ dutty 2>| cat
Standard output is a TERMINAL
Standard input is a TERMINAL
Standard error is a TELETYPE
$ dutty |& cat
Standard output is a TELETYPE
Standard input is a TERMINAL
Standard error is a TELETYPE
依赖项
~2.5MB
~40K SLoC