在bash 1:为什么在写入命名管道时bash被关闭?
$ mkfifo /tmp/pipe
$ echo 'something' > /tmp/pipe
现在它挂起并等待要读取的数据。
在bash 2:
$ </tmp/pipe
现在壳1消失,它是封闭的,我端走了。
为什么会发生这种情况?
在bash手册有被写入
的命令替换$(猫文件)可以通过 等效但速度更快$(<文件)来代替。
所以我在试验,如果普通的“<文件”以类似的方式工作到猫文件内容到终端。
$ bash --version | head -1
GNU bash, version 4.3.11(1)-release (x86_64-pc-linux-gnu)
$ cat /proc/version
Linux version 3.16.0-71-generic ([email protected]) (gcc version 4.8.2 (Ubuntu 4.8.2-19ubuntu1)) #92~14.04.1-Ubuntu SMP Thu May 12 23:31:46 UTC 2016
编辑
看到初步意见和答案后,我将添加一些说明。
我不关心不同的命令行语法。
但我后来真的是在阅读器外壳$ < /tmp/pipe
情节编写器外壳退出,但与$ cat /tmp/pipe
在阅读器外壳写入器外壳不会退出。为什么?
我看到我真的没有这个问题和身体的短语,应该可能会提出另一个问题?
'$(
chepner