我有一个需要这样调用的命令:
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中组合这样复杂的参数?或者,另外有没有办法向gnome-terminal发送IPC消息,告诉它打开一个新标签页并执行命令?我知道我可以用Konsole做到这一点,但现在我想用gnome-terminal实现它。