如何在Android Studio终端中使用cygwin bash并在项目目录中启动它?

时间:2015-11-25 00:07:19

标签: android-studio cygwin

this blog post,您可以在cygwin/bash下将Android Studio终端设置为Settings -> Tools -> Terminal -> Shell path。但是,新终端将从您的主目录($HOME)开始。您可以将cd $OLDPWD放在.bashrc中,正如博客文章中所建议的那样,这会破坏您正常的cygwin会话。 (它将从/cygdrive/c/Windows/system32

开始

是否可以在项目目录中启动Android Studio终端,而正常的cygwin会话将从$HOME开始?

3 个答案:

答案 0 :(得分:2)

两步

  1. 创建一个设置自定义变量的Cygwin-AndroidStudio.bat批处理文件。我选择IDE。将Android Studio' s Shell path设置为

    "cmd.exe" /c "{path to}/Cygwin-AndroidStudio.bat"
    
  2. 将以下脚本放在Cygwin-AndroidStudio.bat

    @echo off
    set IDE=AndroidStudio
    C:\{path to}\cygwin64\bin\bash --login -i
    
  3. 在`cygwin

    下的~/.bashrc末尾添加以下内容
    if [ ! -z "${IDE}" -a "${IDE}" == "AndroidStudio" ]; then
        cd $OLDPWD;
    fi
    
  4. 解释

    1. 自2016/08/30起,您需要quote both cmd.exe and the path to the script.
    2. 首先将窗口变量IDE设置为AndroidStudio。 (它是一个任意的字符串)。它有效,因为All Windows environment variables are imported when Cygwin starts.
    3. 如果$IDE已定义且值为AndroidStudio,那么它将cd $OLDPWD

答案 1 :(得分:1)

如果您喜欢在停靠模式下使用Mintty,请转到Android Studio菜单文件 - 其他设置 - 默认设置并搜索终端。在shell路径中,您可以使用以下命令:

  

" d:\ cygwin的\ BIN \ mintty.exe" -i /Cygwin-Terminal.ico D:\ cygwin \ bin \ bash.exe -l -c" cd $ OLDPWD; exec bash"

这里有一个小技巧。你必须如上所述引用,否则你可能得到" java.io.IOException:无法创建一个PTY"错误信息。

请记住,您需要调整命令路径。

答案 2 :(得分:0)

仅需共享即可对他人有所帮助。我设法做到了而没有创建任何其他脚本或复杂的命令行。

Settings->Tools->Terminal->Shell Path下,您可以设置:

  • 要从$HOME开始使用Cygwin Bash Terminal(与Mintty相同):

    <CYGWIN_INSTALL_LOCATION>\bin\bash.exe" -l

  • 要使用Cygwin Bash Terminal(与Mintty相同)并移至项目文件夹:

    <CYGWIN_INSTALL_LOCATION>\bin\bash.exe" -l -c "cd $OLDPWD ; exec bash"

  • 要使用Git Bash:

    <GIT_INSTALL_LOCATION>\bin\bash.exe" -l

我的答案是基于同一个问题的其他答案。.我只是简化了一下...