使用循环中的复杂命令在 gnome 终端中打开多个选项卡

2023-12-10

我有一个需要这样调用的命令:

command "complex argument"

如果我想运行 gnome-terminal 并传递这个参数,它会像这样:

gnome-terminal -e 'command "complex argument"'

我想在终端中打开多个选项卡,每次使用不同的参数执行此命令。这是这样工作的:

gnome-terminal -e 'command "complex argument1"' --tab -e 'command "complex argument2"'

但如果我想用脚本执行它,问题就来了,在脚本中我从一个循环中获取每个选项卡的参数(即选项卡的数量是可变的)。我的基本想法是收集单个变量的参数,然后将其传递到 gnome-terminal。但我不知道如何做到这一点,使所有嵌套的引用参数保持不变。要么所有东西都被压缩在一个参数中(如果我调用gnome-terminal "$args"),或者它会因每个空格而崩溃(如果我调用gnome-terminal $args).

有没有办法在 bash 中组成如此复杂的参数?或者,有什么方法可以将 IPC 消息发送到 gnome-terminal,告诉它打开一个新选项卡并执行命令?我知道我可以使用 Konsole 来完成此操作,但现在我想使用 gnome-terminal 来完成此操作。


我刚刚遇到了同样的问题,并在尝试解决它时遇到了这篇文章。如果“复杂参数”依赖于 shell 扩展,我相信您将需要使用传递到 gnome-terminal 的命令来启动 shell。例如:

gnome-terminal \
--tab -e "sh -c 'command \"complex argument1\"'" \
--tab -e "sh -c 'command \"complex argument2\"'"

您可以启动 bash 或任何其他 shell,而不是 sh。更多示例请参见这个堆栈交换帖子.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用循环中的复杂命令在 gnome 终端中打开多个选项卡 的相关文章

随机推荐