作为安装 EGit 的一部分,我必须在 Windows 中设置一个 HOME 环境变量。这导致了一个问题,即 cygwin 认为 Windows 中的 HOME 环境变量比 /etc/passwd 中的值更重要。因此,cygwin 认为我在 cygwin 中的 HOME 目录已从以前的位置移动到我的 Windows 用户配置文件文件夹。我宁愿将我的 cygwin 文件分开,因为我的用户配置文件文件夹已经足够混乱,但似乎不可能这样做。
有没有办法让 cygwin 使用 /etc/passwd 中的值而不是 HOME 环境变量?
编辑 /etc/profile 并更改行
# Set the user id
USER="$(id -un)"
Run Code Online (Sandbox Code Playgroud)
到
# Set the user id
USER="$(id -un)"
# Set user home dir
HOME=$(eval echo "~$USER")
Run Code Online (Sandbox Code Playgroud)
这会强制 Cygwin 始终使用 /etc/passwd 中的值。这比使用 Cygwin.bat 更好,因为这适用于所有登录 shell,无论它们是如何生成的。
您可以尝试以下几项操作:
编辑cygwin.bat并set HOME=编辑到您想要的任何目录。
编辑 /etc/profile ( C:\cygwin\etc\profile) 并更改cd "${HOME}"为您想要的任何目录。
| 归档时间: |
|
| 查看次数: |
3787 次 |
| 最近记录: |