Netcat无法正常工作

时间:2011-11-07 04:42:46

标签: bash unix scripting pipe netcat

我刚刚开始使用bash脚本,我试图让一个简单的管道工作:

#!/bin/sh                                                                                   

mkfifo apipe
cat apipe | nc -l $1 | /home/matt/testprogram > apipe

鉴于端口号有效并且程序按我的意愿运行,可能会使这个脚本陷入困境?

我的程序应该打印一些文本以及使用fgets接收一些用户输入。当我运行我的shell脚本时,我希望它就像我正常运行程序一样。当我运行它时,我只是让它消隐而没有做任何事情,我必须用ctrl + C打破它。

我在终端输入类似的内容:

sh testnc.sh 2342

感谢您的任何建议

1 个答案:

答案 0 :(得分:2)

您正在使用NC错误。 nc -l $1正在侦听该端口上的外部连接。所以你可以运行这样的东西:

主持人1:

nc -l <port> | /home/matt/testprogram

主持人2:

cat files | nc <host1> <port>

但你正在做的用法毫无意义。