我有一个可创建AF_LOCAL套接字(/tmp/app.sock)的Mac OS X应用。有没有办法从Shell脚本写入这种类型的套接字?我尝试了显而易见的(“echo xxx>/tmp.app.sock”)和不太明显的(“exec 3 <>/tmp/app.sock”),但是我似乎什么都没得到。这有技巧吗,还是我应该硬着头皮写几行C或Java来完成我所需要的?谢谢!
最佳答案
Netcat是您的 friend 。
echo xxx | nc -U /tmp/app.sock
为了测试它是否有效,首先打开另一个终端并输入以下命令:
nc -lU /tmp/app.sock
然后回到您的第一个终端并再次运行第一个命令。
请注意,Internet上的大多数文档都是original (Hobbit) netcat或GNU Netcat的文档,而不是BSD netcat的文档。但这并没有什么不同,联机帮助页应该可以帮助您处理大多数差异。
任何您不知道如何使用netcat的方法,请尝试socat(可悲的是,它不是在Mac上内置的,但是很容易通过Homebrew或MacPorts或手动安装)。
关于macos - 从Shell脚本写入Mac OS X上的AF_LOCAL套接字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11440706/