【发布时间】:2015-03-02 07:11:52
【问题描述】:
我正在以一种不寻常的方式使用 nc 命令。如果两个用户几乎同时运行它们,我有两个启动聊天会话的 bash 脚本。这些脚本是围绕 nc 命令构建的。我希望文本流显示每个回车后附加的值(当用户按下回车键时)。
以下是脚本以交互方式和协作方式工作的方式: 在工作站 1 上,我调用这个:nc -l 44444
在工作站 2 上,其他人调用:nc x.x.x.x 44444 (其中 x.x.x.x 是工作站 1 的 IP 地址)
我可以和其他人聊天。无论用户类型如何,都会镜像到另一个终端。我的问题:如何编写 bash 脚本来附加文本?我在变量中有我想要的文本(例如,“说 user1”)。
我希望它自动显示(无需用户手动输入)。
如果工作站 1 上的用户(IP 地址为 x.x.x.x)在聊天会话期间键入“这只是一个测试”并按 Enter,我希望这是结果:
这只是用户1的测试。
如果工作站 2 上的用户(IP 地址为 y.y.y.y)在聊天会话期间键入“哦,好的”并按 Enter,我希望得到以下结果:
哦,好的,用户2。
用户名在脚本的变量中。我可以毫无问题地构造字符串。我只是不知道如何让这个变量字符串自动显示。只有在脚本运行时,每次按下回车时,是否可以显示一些文本?运行 bash 脚本时会镜像文本流。我不确定如何做到这一点。
【问题讨论】:
-
rups 帮助了我。这些行是完美的: sed -u "s/$/said user2 /" | nc xxx.xxx.xxx.xxx 44444 sed -u "s/$/ 表示user1/" | nc -l 44444
-
嗨@Propulsion:如果这个或任何答案已经解决了您的问题,请点击复选标记考虑accepting it。这向更广泛的社区表明您已经找到了解决方案,并为回答者和您自己提供了一些声誉。没有义务这样做。
标签: linux bash shell stream inputstream