Bash Netcat不工作

Bash Netcat不工作,bash,unix,scripting,pipe,netcat,Bash,Unix,Scripting,Pipe,Netcat,我刚刚开始使用bash脚本,并尝试使用一个简单的管道: #!/bin/sh mkfifo apipe cat apipe | nc -l $1 | /home/matt/testprogram > apipe 考虑到端口号可以正常工作,程序也可以正常工作,是什么让这个脚本一团糟 我的程序应该打印一些文本,并使用FGET接收

我刚刚开始使用bash脚本,并尝试使用一个简单的管道:

#!/bin/sh                                                                                   

mkfifo apipe
cat apipe | nc -l $1 | /home/matt/testprogram > apipe
考虑到端口号可以正常工作,程序也可以正常工作,是什么让这个脚本一团糟

我的程序应该打印一些文本,并使用FGET接收一些用户输入。当我运行shell脚本时,我希望它的行为就像我只是正常运行程序一样。当我运行它时,我只是让它空白,什么也不做,我必须用ctrl+C来打破它

我在终端中键入如下内容:

sh testnc.sh 2342

感谢您的建议

您使用NC时出错了<代码>nc-l$1正在侦听该端口上的外部连接。所以你可以这样运行:

主持人1:

nc -l <port> | /home/matt/testprogram
nc-l |/home/matt/testprogram
主持人2:

cat files | nc <host1> <port>
cat文件| nc

但是你所做的用法没有任何意义。

如果你解释了你想要实现什么以及你会遇到哪些错误,回答起来会更容易。对此,我很抱歉,我试图让它更清楚一点。谢谢你的回复。我正在尝试获得类似网络服务器的行为。你知道我应该如何编辑我的代码来做到这一点吗(因为我假设我的代码就是这样做的)?看看
ncat
它就像nc版本2(:语法更简单、更一致。