我正在尝试在脚本中使用netcat的GNU变体,但是即使一切正常,它也总是返回退出代码1。这是我的分步案例:
nc -l 127.0.0.1 -p 7000
nc 127.0.0.1 7000
这使我无法在bash脚本中检测到套接字绑定(bind)错误。恰恰是Arch Linux的GNU netcat。使用地址时,用于Arch的BSD netcat不会因套接字绑定(bind)错误而失败,因此也不会更好...
最佳答案
看完GNU Netcat源代码后,我对您来说是个坏消息...
int c, glob_ret = EXIT_FAILURE;
变量
glob_ret
设置为EXIT_FAILURE
(1),仅在端口扫描模式或隧道模式下更改。该变量未在侦听模式下设置,因此程序将始终以1代码退出。您可以在此处查看netcat.c源文件:https://pastebin.com/fh66BPgg(函数
main
)关于linux - GNU netcat退出代码始终为1?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47596950/