我如何将剪贴板内容提供给 gnome-terminal?

我如何将剪贴板内容提供给 gnome-terminal?

我有一个插件,可以生成可粘贴的命令并将其复制到剪贴板。现在我打开一个新终端,粘贴命令并执行它。我想编写一个脚本,自动打开一个新终端并使用剪贴板作为输入来运行该命令。

我尝试使用 xclip,但不知道如何将其输出传送到 gnome-terminal,并且我看到的所有线程都集中在相反的问题上:将命令输出保存到剪贴板,这不是我想要做的。

我尝试过的:xclip -se c -o | gnome-terminal -e

它显示“无法解析参数:缺少 -e 的参数”。所以至少我遇到了语法问题。

我感觉我可能没有用正确的方法解决这个问题。我完全是个菜鸟,所以越详细越好!

谢谢!

答案1

似乎gnome-terminal无法从 stdin 获取输入,因此您必须使用命令替换

gnome-terminal -e "$(xclip -se c -o)"

此外,如果您想在运行之前对剪贴板内容执行单词拆分和匹配,您可以使用以下命令:

gnome-terminal -x $(xclip -se c -o)

如果您需要在命令完成时保持终端打开,您可以使用以下命令:

gnome-terminal -x bash -c "$(xclip -se c -o); read -p 'Press Enter to close.'"

或者如果你想要进入交互式提示:

gnome-terminal -x bash -c "$(xclip -se c -o); bash"

如需更多想法,请参阅使用终端应用程序的启动器,如何在程序完成后保持终端打开?

相关内容