【问题标题】:How to open cygwin & execute bash in Eclipse?如何在 Eclipse 中打开 cygwin 并执行 bash?
【发布时间】:2016-02-14 13:25:52
【问题描述】:

我正在尝试在 Eclipse 中构建我的自定义命令。 这是我正在使用的 Eclipse 插件:https://marketplace.eclipse.org/content/startexplorer

看起来像这样(图片链接):

Custom commands in Eclipse

我需要自定义命令中的 eclipse 变量:

${resource_loc} , ${selected_resource_loc} , ${workspace_loc} , etc...

应该是这样的:

D:\cygwin64\bin\mintty.exe /bin/bash -l -c "cd ${workspace_loc}"

但是 mintty 会立即关闭这个窗口。我需要基于 eclipse 变量执行命令 进入 bash 交互模式,而不关闭窗口。

【问题讨论】:

    标签: eclipse cygwin mintty


    【解决方案1】:

    要创建一个 StartExplorer 自定义命令,它会打开 Cygwin 终端并 在所选文件系统位置启动交互式 Bash shell 资源,请按以下步骤操作:

    1. 确保安装chere Cygwin 软件包;
    2. 安装StartExplorer Eclipse 插件;
    3. 在插件 StartExplorer 的 Eclipse Preferences 中,创建一个新的自定义 命令:
      • 命令:D:\cygwin64\bin\mintty.exe -e /bin/xhere /bin/bash "${selected_resource_loc}"
      • 为资源启用:yes
      • 资源菜单名称:Cygwin Bash Here
      • 资源类型:Folders

    除了步骤 2 和 3,如果您不关心上下文菜单条目,则不 需要安装 StartExplorer 插件。 Eclipse Extenal Tools Configuration 标准功能可以解决问题。

    Run > Extenal Tools Configuration,创建一个新程序:

    • 姓名:Cygwin Bash Here
    • 位置:D:\cygwin64\bin\mintty.exe
    • 参数:-e /bin/xhere /bin/bash "${selected_resource_loc}"

    基本上,xhere 脚本(chere 包的一部分)执行以下步骤:

    1. 向登录外壳指示不要cd $HOMEexport CHERE_INVOKING=true,在/etc/profile 中检查);
    2. 更改为作为第二个参数传递的目录 (cd "$2");
    3. 执行作为第一个参数传递的 shell 作为登录 shell (exec -l $1)。

    注意:如果将/bin/bash 替换为/etc/passwd,则使用从/etc/passwd 读取的当前用户登录shell 而不是bash

    【讨论】:

    • 非常感谢!如果我能让 Cygwin 窗口成为 Eclipse 中的选项卡之一就好了,就像控制台视图一样......
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-12-13
    • 2019-04-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-19
    相关资源
    最近更新 更多