【发布时间】:2017-05-04 08:29:52
【问题描述】:
首先,我进入了 WSL 但它看起来异常 - 没有颜色和别名:
如果我再次输入 bash,一切都会正常工作:
安装后没有 WSL 的快捷方式,所以我创建了一个:
但问题似乎出现在最近的内部版本中。我的 windows 版本是 16184.1001。
那么我的 WSL 出了什么问题?
【问题讨论】:
标签: windows bash windows-subsystem-for-linux
首先,我进入了 WSL 但它看起来异常 - 没有颜色和别名:
如果我再次输入 bash,一切都会正常工作:
安装后没有 WSL 的快捷方式,所以我创建了一个:
但问题似乎出现在最近的内部版本中。我的 windows 版本是 16184.1001。
那么我的 WSL 出了什么问题?
【问题讨论】:
标签: windows bash windows-subsystem-for-linux
解决了。见https://github.com/Microsoft/BashOnWindows/issues/2067。
@0xbadfca11 在 16184 之前,bash 的 argv[0] 是 '/bin/bash'。这是非登录外壳。 Bash 只会加载 .bashrc。 从 16184 开始,bash 的 argv[0] 是“-bash”。这是登录外壳。 Bash 仅加载 .bash_profile 或 .bash_login 或 .profile 中的第一个。看不到 .bashrc。但是,默认的 .profile 将执行 .bashrc。 当使用优先级高于 .profile 的 .bash_profile 或 .bash_login 时,让我们自己加载 .bashrc。 即使添加了'-l',.bashrc 也不会加载,因为存在优先级高于 .profile 的文件。
【讨论】: