我有一个插件,可以生成可粘贴的命令并将其复制到剪贴板。现在我打开一个新终端,粘贴命令并执行它。我想编写一个脚本,自动打开一个新终端并使用剪贴板作为输入来运行该命令。
我尝试使用 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"
如需更多想法,请参阅使用终端应用程序的启动器,如何在程序完成后保持终端打开?