是否可以让 cygwin 忽略 Windows HOME 环境变量?

Mac*_*cha 6 cygwin

作为安装 EGit 的一部分,我必须在 Windows 中设置一个 HOME 环境变量。这导致了一个问题,即 cygwin 认为 Windows 中的 HOME 环境变量比 /etc/passwd 中的值更重要。因此,cygwin 认为我在 cygwin 中的 HOME 目录已从以前的位置移动到我的 Windows 用户配置文件文件夹。我宁愿将我的 cygwin 文件分开,因为我的用户配置文件文件夹已经足够混乱,但似乎不可能这样做。

有没有办法让 cygwin 使用 /etc/passwd 中的值而不是 HOME 环境变量?

Lil*_*ley 6

编辑 /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,无论它们是如何生成的。


Kar*_*ran 1

您可以尝试以下几项操作:

  1. 编辑cygwin.batset HOME=编辑到您想要的任何目录。

  2. 编辑 /etc/profile ( C:\cygwin\etc\profile) 并更改cd "${HOME}"为您想要的任何目录。