netcat [...] -e program
nc [...] -e program
应该program
作为服务器运行(就其 stdin 和 stdout 而言)。netcat
在 Mac OS X 上似乎没有这个-e
选项。
为什么会这样?有办法实现它吗?
答案1
看起来您发现网络上流传的众多 netcat 重写版本之一。唯一真正的 Netcat 使用 -e 来指定 IPSEC 参数。您很可能发现有人修改或从头编写的版本,该版本与大多数人所说的 netcat 不同。
您必须找到该版本的源代码并进行编译。如果您不想这样做,可以使用重定向和/或包装器进行一些技巧,以便在 exec() 程序之前正确设置 FD。
答案2
我检查过的任何版本的 netcat 上都没有该-e
标志(SLES11/Debian Lenny/Ubuntu Karmic、10.5.8、10.6.2)。难道你不需要将 netcat 设置为监听模式并让用户正确重定向 stdin/stdout 吗?
编辑:Karmic 有-e
旗帜。