如何在不同目录打开多个 ConEmu/CygWin Bash 终端

How to open multiple ConEmu/CygWin Bash terminals at different directories

我有一个使用 ConEmu 和 CygWin64 设置的 Windows 环境,我经常需要打开四个不同的 Windows 目录和 运行 一个脚本来启动服务器。

我总共有这四件事 运行ning 以便让我们的环境运行本地版本。

像这样;

C:\code\project1\private-api
C:\code\project2\public-api
C:\code\project2\management-agent
C:\code\project3\back-office

到目前为止,我一直在手动打开新的 ConEmu/CygWin Bash 选项卡并通过命令行导航到我需要的每个目录,然后 运行 安装脚本。虽然这很乏味,但我认为必须有一种方法可以让 ConEmu 在不同的特定目录中启动多个 CygWin Bash 选项卡(甚至可能 运行 每个目录中的脚本)但我不知所措至于如何做到这一点。

我也考虑过通过 Windows 批处理脚本来执行此操作,但我不知道如何从批处理文件中启动 ConEmu/CygWin bash windows .我认为这是不可能的。

我已经遵循了 ConEmu 任务的文档,但是任务参数和命令的文档仍然让我感到困惑。我也尝试按照这个问题的答案进行操作,但收效甚微;

ConEmu: Open multiple Git Bash tabs on different locations

无论如何,这是我如何设置当前的 ConEmu CygWin Bash 任务,在我的主目录中打开单个选项卡时效果很好(必须提供 link,我不断得到尝试在此处上传图片时出错);

ConEmu CygWin Bash Task config

姓名

Bash::CygWin bash

任务参数

None

命令

set CHERE_INVOKING=1 & %ConEmuDrive%\cygwin64\bin\sh.exe --
login -i -new_console:C:"%ConEmuDrive%\cygwin64\Cygwin.ico"

设置 ConEmu/CygWin64/CygWin Bash 真的有可能实现我想要的吗?

我对 ConEmu 一无所知,但您应该能够 运行 一个 shell 脚本,例如:

#!/bin/sh
mintty --dir /c/code/project1 --exec ./task1 &
mintty --dir /c/code/project2 --exec ./task2 &
...

#!/bin/sh
mintty --exec /c/code/project1/task1 &
mintty --exec /c/code/project2/task2 &
...
  • Tasks 允许 运行 任意数量 tabs/panes。
  • Docs 解释如何 运行 您的 shell 在特定目录中。
  • Ways 启动时在 bash shell 中执行一些命令。

带有目录的两个选项卡示例

set CHERE_INVOKING=1 & %ConEmuDrive%\cygwin64\bin\sh.exe -l -i -new_console:d:"C:\code\project1\private-api" -new_console:C:"%ConEmuDrive%\cygwin64\Cygwin.ico"

set CHERE_INVOKING=1 & %ConEmuDrive%\cygwin64\bin\sh.exe -l -i -new_console:d:"C:\code\project2\public-api" -new_console:C:"%ConEmuDrive%\cygwin64\Cygwin.ico"