【问题标题】:ConEmu commands in task任务中的 ConEmu 命令
【发布时间】:2014-02-15 19:54:45
【问题描述】:

我正在尝试让 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 switches,但我无法确定是否可以在任务设置中输入命令,或者是否可以让它运行 .bat每个控制台上的脚本。

【问题讨论】:

    标签: batch-file conemu


    【解决方案1】:

    开关之间不需要冒号(例如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 用于无论如何必须手动完成的一些任务。谢谢!
    • 您能否发布您更新的 ConEmu 任务,以帮助其他人尝试完成与您所做的类似的事情?
    • bash.exe 有一个 -c 命令,它将运行一个命令,但不幸的是,之后终端仍处于交互模式。还有this solution 使用--init-file,但我无法让它工作。 @OleVik 如果你还活着,你能回来评论 :3 吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-12-17
    • 2015-09-25
    • 2018-11-02
    • 2012-10-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多