在 Bash 中启动一个新的终端会话
在各种情况下,当使用 Bash 或其他 shell 时,可能需要在新终端实例或同一终端中的另一个选项卡中运行脚本或程序。 从终端内打开新的终端实例或选项卡很简单; 我们将通过足够的例子详细解释它。
使用 gnome-terminal 命令在 Bash 中启动新的终端会话
您必须使用简单的命令 gnome-terminal 从已经运行的实例中启动一个新终端。 这将启动一个新的终端实例,并打开一个新窗口。
如果你想打开一个新的终端并从已经运行的实例中运行一个程序,有几种不同的方法可以完成这个任务。
gnome-terminal -x "complete/path/of/the/program" &
上面的命令将在新终端中运行所需的程序; 提供您要运行的程序的完整路径很重要。
命令末尾的 &
将此任务移动到原始终端实例的后台; 不在命令末尾添加 &
可能会导致错误,因为程序可能会在新终端初始化之前尝试运行。
bash -c 选项可以与 gnome-terminal 命令一起使用,以在新终端中执行多个 Bash 命令。
gnome-terminal 命令的语法如下。
gnome-terminal --command="bash -c '[cmd1]; [cmd2]; $SHELL'"
这里 --command="bash -c" 告诉新终端这些是 Bash 命令或脚本,cmd1 和 cmd2 分别代表第一个和第二个命令的名称。
命令末尾的 $SHELL 使终端即使在完成命令后仍保持打开状态。
上述示例的另一种语法是:
gnome-terminal -x bash -c "<cmd>; exec bash"
此命令末尾的 exec bash 与 $SHELL
具有相同的目的(即,在执行命令后保持终端打开)。
在 Bash 中的同一终端中打开一个新选项卡
有时,您可能不想打开多个终端窗口,因为它们很难跟踪。 在这种情况下,在同一终端中打开一个新选项卡是更好的方法。
打开新终端选项卡的命令是:
gnome-terminal --tab
这可以与上面讨论的示例结合使用,以在新的终端选项卡中执行命令,例如:
gnome-terminal --tab -x bash -c "<cmd>; exec bash"
需要注意的是,以上命令是针对支持 GNOME 环境的系统。
对于 macOS,您可以使用以下命令从已运行的终端在新终端中执行命令:
osascript -e 'tell app "Terminal" to do script "cmd"'
这将打开一个新终端并在新创建的终端中执行cmd命令。
相关文章
在 Bash 中运行 find -exec 命令
发布时间:2024/03/14 浏览次数:127 分类:操作系统
-
本文将演示如何使用 find 命令的 -exec 参数来使用 find 命令定位文件中的任何文本。