【发布时间】:2023-03-06 05:53:01
【问题描述】:
有没有办法让 bash 脚本处理使用“write”命令发送给它的消息?因此,例如,如果用户想要激活我脚本中的某个功能,我是否可以这样做,以便他们可以使用 write 命令向脚本发送命令?
我想到的一种可能的方法是为屏幕会话配置日志记录,然后让 bash 脚本通过那里解析文本,但我不确定是否有更简单或更有效的方法来解决这个问题
编辑:我正在考虑作为替代解决方案,我可以使用命名管道。我担心如果 tmp 分区完全填满它会中断(不确定这是否也会影响写入?)。我将在一个共享的盒子上运行这个脚本,每隔一段时间就会有人完全填满 /tmp 分区,然后就这样一直这样下去,直到人们开始抱怨
【问题讨论】:
-
为什么要使用 write 命令发送它?
-
@123 会有更好的方法吗?我正在尝试这样做,以便用户可以触发脚本中的函数,而无需对脚本本身进行读/写访问。我在想我也可以让用户将命令输入到脚本会监视的文件中,尽管我觉得这个选项可能更通用
-
激活脚本中的功能是什么意思?脚本是否连续运行?你能举一个脚本会做什么的例子吗?
-
你可以用 fifo 来做到这一点,但我更喜欢 write 的想法。可以删除fifo。
-
@123 我会在屏幕会话中运行一个脚本,只要用户使用 write 命令等向它发送命令,它就会向另一台服务器发送 SOAP 请求。用户通常无权访问到将处理 SOAP 请求的服务器,因此这将允许它们执行一些基本功能(管理和取消管理设备的监控),而不必在服务器本身上拥有帐户