我有一个Mac OS X应用程序,它创建一个AF_LOCAL套接字(/tmp/app.sock)。有没有办法从shell脚本写入这种类型的套接字?我已经尝试过明显的(“echo xxx> /tmp.app.sock”)和一些不太明显的(“exec 3<> /tmp/app.sock”),但我似乎没有得到任何地方。有没有一个技巧,或者我应该咬紧牙关,写几行C或Java来做我需要的东西?谢谢!
答案 0 :(得分:1)
Netcat是你的朋友。
echo xxx | nc -U /tmp/app.sock
要测试这是否有效,首先打开另一个终端并输入:
nc -lU /tmp/app.sock
然后返回第一个终端再次运行第一个命令。
请注意,互联网上的大多数文档都是original (Hobbit) netcat或GNU Netcat,而不是BSD netcat。但它并没有那么不同,并且联机帮助页应该可以帮助您处理大部分差异。
你无法弄清楚如何处理netcat,试试socat(遗憾的是它不是内置于Mac上,但很容易通过Homebrew或MacPorts或手动安装)。