我正在尝试玩弄并理解 ttys。在一个终端模拟器窗口中,tty 的输出给了我
$ tty
/dev/ttys010
所以我想如果我写入这个设备,终端窗口将显示输出。在第二个窗口中,当我运行时
$ echo "test" > /dev/ttys010
第一个窗口按预期显示单词“test”。然而,当我跑步时
$ echo "test" | /dev/ttys010
我在第一个窗口中没有得到任何输出。为什么是这样?我认为这是因为 | 将标准输出重定向到程序,而 > 将输出重定向到文件。
您可以使用管道写入文件。这里有两种选择
正如上面评论中的答案所解释的,管道将一个程序的标准输出提供给另一个程序的标准输入,并且
/dev/ttys010
是一个设备文件,而不是一个程序,通常不是您想要运行的东西。