首页 > 解决方案 > 如何使用多个命令启动 Windows 终端

问题描述

我最近一直在修改 Windows Terminal,我喜欢它如何将所有各种终端应用程序整合到一个地方。但是,与常规的 WSL Bash 程序相比,有一件事我还不能完成 - 启动并自动运行命令。

这对我来说非常有用,因为我需要在开发时在后台运行多个服务——Redis、Chromedriver 和 Postgresql。我目前可以通过在 Windows 任务计划程序中执行三个单独的任务来做到这一点,如果我可以在一个终端窗口中运行它们,而不是三个,那就太好了。

我正在阅读 Windows 终端的文档,看看这是否可行,但结果是空的。有没有人能够提出解决上述问题的方法?

谢谢!

标签: windows-subsystem-for-linuxwindows-terminal

解决方案


您可以在单个选项卡中运行它们,但您需要使用拆分窗格或 tmux。您可以使用我在此 Stackoverflow帖子中提供的拆分窗格解决方案。

基本上,您为要通过 Powershells-NoExit标志运行的每个命令创建一个配置文件,以保持窗口打开。然后,您可以通过 Windows 终端 (wt.exe) 在单个选项卡中将这些命令全部作为拆分窗格启动。然后只需将该命令别名或将其放在快捷方式中即可重用它。假设您在settings.json最终命令中设置了所有正确的配置文件,看起来像这样(从 cmd 运行它):

wt -p "redis" ; split-pane -p "chromedriver" ; split-pane -H -p "postgresql"

或者您可以创建一个配置文件settings.json以从 WT 下拉菜单中打开拆分窗格命令,如下所示:

{
  "guid": "{b7041a85-5613-43c0-be35-92d19002404f}"
  "name": "bg_procs",
  "colorScheme": "One Half Dark",
  "commandline": "wt -p \"redis\" ; split-pane -p \"chromedriver\" ; split-pane -H -p \"postgresql\""
},

推荐阅读