macos - 从Shell脚本写入Mac OS X上的AF_LOCAL套接字

标签 macos sockets shell

我有一个可创建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) netcatGNU Netcat的文档,而不是BSD netcat的文档。但这并没有什么不同,联机帮助页应该可以帮助您处理大多数差异。

任何您不知道如何使用netcat的方法,请尝试socat(可悲的是,它不是在Mac上内置的,但是很容易通过Homebrew或MacPorts或手动安装)。

关于macos - 从Shell脚本写入Mac OS X上的AF_LOCAL套接字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11440706/

相关文章:

linux - 从文本文件数据库中替换当前字符串

bash - 如何将标准输入 (stdin) 复制到 bash 脚本中的多个子进程?

cocoa - 提供 Mac 应用程序的打印选项

swift - 如何从 OS X 命令行工具使用 Swift 框架或库

c++ - Qt 在 Mac OSX 10.9 上的部署

sockets - 在发送电子邮件之前确定 TLS 支持

python - 如何在运行 shell 时禁用 stdout 缓冲区

c++ - 在 Mac 上将 Python 与 Open CV 链接

python - 来自 Black Hat Python Book [Errno 19] 的 Arper.py

node.js - 在套接字发出的数据中引入延迟