您的特定错误是由于未--execute
正确使用该选项引起的。如果您从下面的手册页中查看摘录,您会注意到该语法--execute
中没有列出等号,因为它只是执行命令行的其余部分。正确使用的一个例子是:
gnome-terminal --execute play '/home/cjohnson/Still Alive.mp3'
重要说明:无论如何,
使用cd
是一种特殊情况。cd
与大多数命令不同,它不启动自己的二进制文件/可执行文件。它由bash
(或您使用的任何shell)直接解释。因此,尝试调用cd
与--execute
和-x
标志不一致(似乎想直接产生一个子进程)。使用其他直接由bash
like 处理的命令,也会发生相同的问题(我已经检查过)home
。即使正确使用而没有等号,它仍然会导致错误:“找不到文件或目录”。因此,使用该--working-directory=[DIRECTORY]
选项是完成您想要做的事情的最佳选择。
另一个重要说明:
即使不是这种情况,您仍然会遇到麻烦。问题在于--execute
您实际上打算使用选项的含义时尝试使用该--command
选项。在手册页文档中,它具体说明
-e,--command = STRING 在终端中
执行此选项的参数。
-x,--
execute 在终端内部执行命令行的其余部分。
(强调我的)
换句话说,它可能不会按照您认为的方式进行解析。使用--execute
可以防止您将其他任何选项传递给gnome-terminal
。
摘录自我自己的脚本之一,在其中我在单独的选项卡中运行了多个命令(更改了我的隐私/安全名称):
gnome-terminal --tab --command="ssh cjohnson@GLaDOS" --tab --command="ssh drattman@GLaDOS"
(顺便说一句,尝试将--command
标志与cd
或一起使用home
也将导致常见的“无此类文件或目录”错误。)
我希望这不会太久。我只是想变得彻底。