我有一个简单的shell脚本,应该打开一个新的终端窗口与多个(三个)标签。
open_gnome_terminal () {
gnome-terminal \
--window -- bash -ic "echo tab1; exec bash;" \
--tab -- bash -ic "echo tab2; exec bash;" \
--tab -- bash -ic "echo tab3; exec bash;"
}
open_gnome_terminal
但是,当我通过. ./myScript
运行脚本时,我得到以下错误:
--window: command not found
--tab: command not found
我也试着在终端的一个命令中运行这个脚本,它工作得很好,所以我的问题是为什么反斜杠运算符在我的shell脚本中不能正常工作,我该如何修复?我用的是Linux Ubuntu 23.04
**编辑:**我删除了反斜杠后的空格,错误现在消失了。虽然我仍然没有达到预期的结果,一个新的终端窗口与3个标签(它只打开一个窗口与一个标签)
2条答案
按热度按时间8gsdolmq1#
您的代码是:
这将使用一个选项
--window
调用gnome-terminal
。然后选项处理由
--
终止。剩下的“行”是一个要运行的程序及其参数:
bash
从-c
后面的参数读取命令。下一个参数(--tab
)用于设置其$0
。其余的参数将被忽略(因为在第一个-c
命令中没有引用它们)。要做你想做的事情,
--command
选项已被弃用,但似乎仍然在我的机器上工作:我的手册页警告说,这不是一个实际的shell命令行。我可能会将更复杂的代码放入shell脚本中并调用它(
--command /path/to/my/script
)。yx2lnoni2#
在反斜线后面有几个额外的空格。
尝试在vi中复制粘贴脚本,然后在插入模式下将光标放在
--window
之前,删除空格,直到破折号刚好在前一行的\
之后。点击回车键以确保所有内容都格式正确。对其他行重复上述操作