小编foo*_*foo的帖子

这四个命令有什么区别(fifo、进程替换、重定向...)

我的目标是使用nc和单个fifo. 我不是在寻找最好的方法来做到这一点,我只是想了解以下命令的语义(fork 何时发生,为什么,它发生了什么变化,为什么命令的行为不同......)。

我正在使用 Bash,所以我不确定所有命令是否都适用于 POSIXshzsh, ksh, ...

这是我在标题中提到的四个命令(假设我已经这样做了mkfifo fifo):

cat fifo | nc -l localhost 8888 > fifo
exec 3<> fifo && nc -l localhost 8888 <&3 >&3 && exec 3>&-
nc -l localhost 8888 <(cat fifo) > fifo
nc -l localhost 8888 < fifo > fifo
Run Code Online (Sandbox Code Playgroud)

现在我希望 4 个命令做同样的事情,至少最后两个命令做同样的事情。

  1. 第一个命令按预期运行,一个简单的回显服务器在客户端关闭连接时关闭。
  2. 表现得像 1。
  3. 我可以连接到服务器,发送数据,但我从来没有收到任何回复。当我关闭客户端连接时,服务器关闭。
  4. 无法连接到服务器,服务器永远监听。

shell bash io-redirection process-substitution fifo

8
推荐指数
1
解决办法
513
查看次数

标签 统计

bash ×1

fifo ×1

io-redirection ×1

process-substitution ×1

shell ×1