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

时间:2017-06-16 15:10:56

标签: bash cygwin conemu

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

总的来说,我运行这四项工作是为了让我们的环境的本地版本运行。

像这样;

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选项卡(甚至可能在每个目录中运行一个脚本)但我对如何实现这一点感到茫然。 / p>

我考虑过尝试通过Windows批处理脚本执行此操作,但我无法弄清楚如何从批处理文件启动ConEmu / CygWin bash窗口。我认为这是不可能的。

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

ConEmu: Open multiple Git Bash tabs on different locations

无论如何,这里是我如何设置我当前的ConEmu CygWin Bash任务,这在我的主目录中打开单个标签时效果很好(必须提供链接,我在这里尝试上传图像时一直收到错误);

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来实现我想要的目标?

2 个答案:

答案 0 :(得分:0)

我对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 &
...

答案 1 :(得分:0)

  • Tasks允许您根据需要运行任意数量的标签/窗格。
  • 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"