ConEmu指令在任务中的应用

7
我正在尝试在ConEmu中创建一个任务,以打开多个控制台,并在每个控制台打开时运行类似批处理的脚本。例如:
  • 打开一个Git Bash,将控制台命名为“X”,将当前目录设置为“Y”。
  • 再打开另一个Git Bash,并运行一组命令,例如“cd A/B/C”,“vagrant up”
  • 打开一个常规命令窗口,运行命令“cd D/E/F”,“grunt watch”
我希望第二个和第三个控制台并排显示,但位于第一个控制台下方。到目前为止,我卡在了如何运行命令上;我有一个任务,运行以下内容:
"%ProgramFiles(x86)%\Git\bin\sh.exe" --login -i "-cur_console:n:t:Git Bash" "-cur_console:d:C:\Users\Ole Vik\dev"
"%ProgramFiles(x86)%\Git\bin\sh.exe" --login -i "-cur_console:s1TVn:t:Vagrant"
cmd "-cur_console:s2THn:t:Third"

阅读ConEmu的wiki后,我找到了new_console和cur_console开关,但我不知道是否可以在任务设置中输入命令,或者是否可以在每个控制台上运行.bat脚本。请帮忙解答。
1个回答

12

在开关之间不需要使用冒号(例如nt)。

cmd有一个/k开关来运行命令。

我不知道如何告诉bash“运行此命令并保持提示符”。也许你需要用&运行命令。我不确定第二行,你需要自己检查。

"%ProgramFiles(x86)%\Git\bin\sh.exe" --login -i "-cur_console:nt:Git Bash" "-cur_console:d:C:\Users\Ole Vik\dev"
cmd -cur_console:s1TVnt:Vagrant /c vagrant up & "%ProgramFiles(x86)%\Git\bin\sh.exe" --login -i"
cmd -cur_console:s2THnt:Third /k cd /d "D\E\F" & grunt watch

隐式地,您强调了我所遇到的问题:让Bash表现得像我期望的cmd一样。使用您的示例进行快速重写,使得可以仅使用shell运行我需要的所有内容,但保留 git bash 用于一些必须手动完成的任务。谢谢! - OleVik
6
请问您能否发布更新后的ConEmu任务,以便其他人尝试完成类似于您所做的事情时受益? - otravers
3
有一个 -c 命令可以在 bash.exe 中运行命令,但不幸的是它会在交互模式下保持终端。还有这个解决方案,使用 --init-file,但我无法使其工作。@OleVik 如果你还活着,请回来评论一下 :3? - Cobertos
1
有几种可能的方法:https://conemu.github.io/en/CygwinStartCmd.html - Maximus

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接