在 Solaris 10 主机上,配置了一个 inetd 服务,以在它获得到预配置端口/服务的传入 TCP 连接时启动 bash 脚本。有没有办法在调用的 bash 脚本中找到远程客户端的 IP 地址?
如果我使用的是 GNU 版本的 inetd,我会使用--environment
命令行标志。但是我使用的是默认的 Solaris 版本的 inetd/inetadm,它似乎不支持这个标志。有与此设置等效的 Solaris 吗?
我还假设在0 ( ) 或 1 ( )getpeername(2)
上调用会返回所需的信息,但我正在运行一个 bash 脚本,我似乎没有找到一种方法来调用from bash 的等价物。fd
stdin
stdout
getpeername(2)
我唯一的选择是调用 C 包装器,将getpeername(2)
其存储在环境变量(或命令行参数)中,然后调用主 bash 脚本?
谢谢!