Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows 为什么我需要进入WSL两次才能使其正常工作?_Windows_Bash_Windows Subsystem For Linux - Fatal编程技术网

Windows 为什么我需要进入WSL两次才能使其正常工作?

Windows 为什么我需要进入WSL两次才能使其正常工作?,windows,bash,windows-subsystem-for-linux,Windows,Bash,Windows Subsystem For Linux,首先,我输入了WSL,但它看起来异常-没有颜色和别名: 如果我再次进入bash,一切正常: 安装后,WSL没有快捷方式,因此我创建了一个: 但问题似乎在最近的内部构建中显现出来。我的windows版本是16184.1001 那么我的WSL有什么问题吗?已解决。看 16184之前,bash的argv[0]是'/bin/bash'。这是非登录shell。Bash将只加载.bashrc。 从16184年开始,bash的argv[0]是'-bash'。这是登录shell。Bash仅加载.Bash\u配置

首先,我输入了WSL,但它看起来异常-没有颜色和别名:

如果我再次进入bash,一切正常:

安装后,WSL没有快捷方式,因此我创建了一个:

但问题似乎在最近的内部构建中显现出来。我的windows版本是16184.1001

那么我的WSL有什么问题吗?

已解决。看

16184之前,bash的argv[0]是'/bin/bash'。这是非登录shell。Bash将只加载.bashrc。 从16184年开始,bash的argv[0]是'-bash'。这是登录shell。Bash仅加载.Bash\u配置文件或.Bash\u登录名或.profile中的第一个。看不见,巴什尔。但是,默认的.profile将执行.bashrc。 让我们在使用.bash_配置文件或.bash_登录时自己加载.bashrc,它的优先级高于.profile。 即使添加了'-l',也不会加载.bashrc,因为存在优先级高于.profile的文件