首页 > 解决方案 > 将 netcat 输出发送到光标位置

问题描述

我有一个连接到本地网络的设备,它将字符串发送到运行 Debian 的 PC 的特定端口(连接到同一网络)。在这台 PC 上,我需要将该字符串放在光标位置(例如,在打开的文本编辑器中)。

我可以使用此命令从终端读取字符串

nc -l -p 8888

但我想不出一种方法将该字符串放在光标位置。

经过测试,我希望它成为在后台保持活跃的服务

感谢任何有建议的人。

编辑:

正如 JoseLinares 所建议的,我尝试使用命令将 netcat 输出复制到剪贴板

nc -l -p 8888 | xclip

然后我尝试将其粘贴到文本编辑器中,但没有任何反应。使用 echo 命令 (echo "something" | xclip) 它可以工作。

另一个奇怪的事情是,如果将输出发送到文件(nc -l -p 8888 > test)并用“nano”编辑器打开该文件,我会看到该值,但如果我尝试用“cat”打开它,它是空的。

标签: linuxbashdebiannetcatcaret

解决方案


您可以使用 xclip 将 nc 的输出保存在剪贴板中:

nc -l -p 8888 | xclip

然后使用 xdotool 模拟鼠标中键的点击。这将导致在大多数桌面管理器的光标位置复制剪贴板内容:

xdotool click 2   

2是中间按钮的id


推荐阅读