在 Newham 和 Rosenblatt 的“Learning the Bash shell”第三版中,它在第 15 页中作为评论写道:
如果省略 filename 参数时特定 UNIX 实用程序不接受标准输入,请尝试使用破折号 (0) 作为参数。某些 NIX 系统将标准输入作为文件提供,因此您可以尝试提供文件 /dev/stdin 作为输入文件 argumnet。
最后一句我不清楚 - “将标准输入作为文件提供”是什么意思?
“重复”创建/dev/stdin在系统中命名的文件是不是很危险(我个人使用 Ubuntu 16.04)。
顺便说一句,我在这篇文章中遇到了一个类似的案例。
这不是关于创建/dev/stdin,而是关于使用它:您指定/dev/stdin要与默认情况下(或使用-)不支持标准输入的任何命令一起使用的文件,以使其无论如何都使用其标准输入。
因此
cat
cat -
cat /dev/stdin
Run Code Online (Sandbox Code Playgroud)
all makecat从其标准输入中读取(尽管使用 时的方式略有不同,使用/dev/stdin不同的文件描述符,这意味着它在所有情况下都不是等价的)。我不是在创建 /dev/stdin,而是使用预先存在的设备节点作为cat.
| 归档时间: |
|
| 查看次数: |
296 次 |
| 最近记录: |