【问题标题】:changing mingw' startup directory or creating mingw symlinks更改 mingw 的启动目录或创建 mingw 符号链接
【发布时间】:2011-08-09 17:50:40
【问题描述】:

设置mingw的控制台启动目录最简单的方法是什么?我只使用 mingw 进行编译。但由于缺乏编辑器甚至符号链接,我很困惑如何告诉 mingw 控制台出现在不同的目录而不是常规主目录中。

如果有人知道如何像 cygwin 那样将“真正的”符号链接放置到 ntfs 驱动器上,那也会很有帮助。 mingw 复制内容,在处理颠覆目录时没有用。

我是一个懒惰的人,我发现一直做 cd /c/Documents/USER/.../Project 很痛苦:>

【问题讨论】:

    标签: windows mingw


    【解决方案1】:

    如果其他人发现这篇文章正在寻找答案,那么对我有用的是

    1. 如果快捷方式不存在,请创建快捷方式。可以在您的桌面或任务栏上。
    2. 右键单击 >> 属性 >>并更改Start in:值。
    3. 使用快捷方式并立即在您的项目目录中启动。

    我的桌面上有多个用于各种项目的快捷方式,因此我可以在每个目录中快速启动终端并开始工作!

    【讨论】:

    • 我已经为 git-bash shell 做了这个,它似乎可以工作。
    • 很好的提示,但这仅在我在“C:\MinGW\msys\1.0\etc\profile”中注释掉 cd $HOME 时才对我有用。 cd $HOME 是“profile”中最后一个非注释行。欲了解更多信息see this post on SuperUser
    • 这当然可行,但就我而言,我还必须从 git-bash 快捷方式的“目标”字段中的 "C:\Program Files\Git\git-bash.exe" --cd-to-home 中删除 --cd-to-home 参数。
    【解决方案2】:

    我认为这是最简单的方法:

    • 打开外壳

    • vim .profile (ESC / i 进入插入模式)

      #!/bin/bash

      cd /c/Users/jbr

    (ESC / wq 写入并关闭编辑器)

    • 测试 .profile bash 文件:source .profile

    • 关闭并重新打开外壳。

    享受, 法巴

    【讨论】:

    • 如果你要关闭并重新打开 shell,你不必source 文件,但它肯定不会有什么坏处。
    • 喜欢这个解决方案
    【解决方案3】:

    默认情况下,当我启动 {install location of MinGW}\msys\1.0\msys.bat 时,shell 会在文件夹 {install location of MinGW}\msys\1.0\home\jbr 中启动。

    我创建了一个文件{install location of MinGW}\msys\1.0\home\jbr\.profile,其中包含:

    # Cd to my windows home:
    cd /c/Users/jbr
    

    现在当我打开一个新的 shell msys.bat;我在正确的位置:

    这对我有用。

    【讨论】:

      【解决方案4】:

      我找到了以下解决方案,我不想要挂载点,我明确希望可以从我当前所在的任何目录(工作目录)开始,所以我制作了一堆脚本。

      它们可以工作,但仍然存在包含空格的路径问题(对不起):

      bash.bat

      将它放在你的路径中,以便你可以从 cmd.exe 运行它

      @echo off
      
      set STARTUP_DIR=%CD%
      
      D:\MinGW\msys\1.0\bin\bash.exe --login
      

      **确保你有一个名为 HOME 的环境变量集,它指向你想要的主用户目录(必须没有空格!!)在我的例子中是 D:\Users\Myname

      .bashrc

      把它放在你的主目录中

      if [[ "$STARTUP_DIR" != "$PWD" ]]; then
        cd $STARTUP_DIR
      fi
      

      现在,考虑到 bash.exe 将运行 .bash_profile 而不是 .bashrc,我在主目录中添加了这个:

      .bash_profile

      if [ -f ~/.bashrc ]; then . ~/.bashrc; fi
      

      我使用 Console2,所以我可以将我的 bash.bat 文件设置为启动 shell,这就是我所需要的。

      【讨论】:

        【解决方案5】:

        我编辑了 C:\MinGW\msys\1.0\etc\profile 并将第 32 行更改为:

        # Set up USER's home directory
        if [ -z "$HOME" ]; then
          HOME="/home/$LOGNAME"
        fi
        

        到:

          HOME="/c/Users/$LOGNAME"
        

        现在,当我打开 MinGW (msys) 时,它使用默认的 Windows 主文件夹。这会启用~/.profile~/.ssh 等功能。

        【讨论】:

          【解决方案6】:

          使用挂载点而不是符号链接。 mingw 不支持 ntfs 符号链接(无论如何它们都是新的),但对于大多数用例(例如简单访问您在 mingw 外部工作的目录)来说,挂载点都可以。

          设置新的默认目录最简单的方法可能是在主目录中使用.bashrc,将cds 指向所需的目录。

          【讨论】:

          • .bashrc 被忽略,mingw 只自带 /bin/sh (没有 bash)
          • 对于桌面的挂载点,必须在 c:\MinGW\msys\1.0\etc\fstab C:\DOKUME~1\\Desktop /home//desktop(德语安装)
          • 感谢您的更正(re .bashrc)和补充(re fstab)。我有一些 msys 的重要部分,包括 bash,有点假设它是 mingw 的一部分。 /etc/profile 也应该与股票 sh 一起使用。
          【解决方案7】:

          如果有人知道如何像 cygwin 一样将“真正的”符号链接放置到 ntfs 驱动器,这也会很有帮助。 mingw 复制内容,在处理颠覆目录时没有用。

          Cygwin 不放置真正的符号链接。

          【讨论】:

            猜你喜欢
            • 2012-02-04
            • 1970-01-01
            • 1970-01-01
            • 2023-03-14
            • 1970-01-01
            • 2019-09-06
            • 2014-08-06
            • 1970-01-01
            • 2010-10-04
            相关资源
            最近更新 更多