我刚刚安装了 Cygwin,bash 提示符中的主目录看起来位于我的 Z: 驱动器上。这不是我想要的。
如何更改此设置?
最佳答案
Starting with Cygwin 1.7.34 ,建议的方法是向 /etc/nsswitch.conf
添加自定义 db_home
设置。执行此操作时,一个常见的愿望是使 Cygwin 主目录等于 Windows 用户配置文件目录。此设置将执行以下操作:
db_home: windows
或者,等价:
db_home: /%H
如果您想对此方案进行一些变体,例如将 Cygwin 主文件隔离到 Windows 用户配置文件目录的子目录中,则需要使用后一种形式:
db_home: /%H/cygwin
windows
选项还有其他几种替代方案,以及其他几个 %
标记,您可以使用它们来代替 %H
或作为补充它。请参阅the nsswitch.conf
syntax description在 Cygwin User Guide了解详情。
如果您在 1.7.34 之前安装了 Cygwin 或已运行其 mkpasswd
utility这样您就拥有了 /etc/passwd
文件,您可以通过编辑该文件中的用户条目来更改 Cygwin 主目录。您的主目录是 /etc/passwd
中用户行的倒数第二个元素。
无论采用哪种方式,都会导致在 shell 启动期间设置 HOME
环境变量。²
参见this FAQ item了解有关该主题的更多信息。
<小时/>脚注:
考虑将
/etc/passwd
和/etc/group
移开以便使用 the new SAM/AD-based mechanism相反。虽然可以通过控制面板简单地设置
%HOME%
,但它是 officially discouraged 。它不仅会毫不客气地覆盖上述机制,而且并不总是有效,例如通过cron
运行 shell 脚本时。
关于cygwin - 安装后如何更改 Cygwin 主文件夹?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1494658/