在当前文件夹中启动MSYS


9

我在Windows上具有MinGW / MSYS,但无法弄清楚如何在我正在使用的文件夹中启动MSYS Shell。

例如,在Windows控制台中,我正在处理文件夹c:\temp,如果我调用MSYS(msys.bat),它将在某个固定位置打开新的控制台窗口,该窗口代表我的主文件夹。

如何更改此msys.bat文件,以便MSYS Shell在当前工作文件夹中打开(或在启动后对其进行更改)?


您可以在问题中包含该批处理文件的内容吗?
卡兰2013年


1
除非我错过了什么,否则我看不到该批处理文件中任何地方都设置了路径。我的猜测是rxvt / bash根据其配置文件在其默认目录中启动。您也许可以通过%cd%某种方式将当前目录()传递给他们,但是我不确定。
卡兰2013年

是的,这就是我要寻找的:调用bash时,指示它在Windows下当前工作文件夹中进行更改。Cygwin也有类似的选择
Zetah 2013年

Answers:


6

我不确定您使用的是哪个版本的msysgit,但对于我来说,调用msys.bat不会更改当前目录。如果看到目录已更改,请检查etc/profilemsysgit目录中的文件以获取cd命令。由于在启动登录shell时执行此文件,可能是导致您始终进入主目录的原因。


3
是的,该文件(我系统上的... \ mingw \ msys \ 1.0 \ etc \ profile)的最后一行是cd "$HOME"。如果您评论说bash将在当前文件夹中开始,那么键入它就很容易cd进入主文件夹。
Brian Burns

4

正如其他人指出的那样,msys.bat将发出cd "$HOME"from etc/profile。设置HOME环境变量.给我一个具有正确工作目录的mingw shell。

set HOME=.
C:\MinGW\msys\1.0\msys.bat

1

您可以创建一个bash文件,并将参数传递给msys2_shell.cmd,以在您想要的任何位置开始。

msys2_shell.cmd -where "home/name/esp"


0

如果要在正在使用的文件夹中运行它,并且要定期在该文件夹中运行,则可以.bash_profile在主目录的末尾添加一行。

cd /c/temp

每次您登录到终端时都会运行此命令。如果您有多个要运行的命令,则可以详细说明并获取文件源,例如

. ~/etc/start_script . ~/etc/start_script2

如果您已经配置了.bashrc或真的不想使用备用HOME路径,则此功能特别有用。


0

如果出于某种原因不希望修改etc/profilecd "$HOME"第一个答案中的注释出来),可以这样做:

# in mingw:
%SystemDrive%\mingw\msys\1.0\bin\sh.exe --login -i -c "cd '%TEMP%'; $SHELL"
# msys in root:
%SystemDrive%\msys\bin\sh.exe --login -i -c "cd '%TEMP%'; $SHELL"

本示例将在/tmp目录中启动msys shell 。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.