lee*_*d00 0 bash quoting home windows-subsystem-for-linux
我最近:在 /etc/passwd 中为用户指定了一个主目录路径,其中包含空格?但是现在.bashrc当我打开 Ubuntu 16.04 LTS WSL 窗口时,我的源无法正确获取,所以我必须source手动进行...它适用于source ~/.bashrc,但奇怪的是不适用于source $HOME/.bashrc,但奇怪的是适用于source "$HOME"/.bashrc.
因此,Jeff在上一个问题上认为,问题可能在于其他东西在采购它时没有引用它。
事实上,一个类似的问题导致我fork git hub 项目,其中发生了类似的错误;我认为这是因为我在 Windows 上使用了 mingw64/git-bash,但这根本不是问题,因为现在它发生在 WSL 中......至少我认为是这样......
奇怪的是不适用于
source $HOME/.bashrc
这是正常的:它不应该工作。source "$HOME/.bashrc"从.bashrc您的主目录中的文件运行指令,但source $HOME/.bashrc采用 的路径.bashrc,在空格处将其拆分,并从名称为第一个空格的部分的文件中运行指令,并使用其他部分作为位置参数(可"$@"从代码中获得)在.bashrc)。(假设 的值中没有通配符HOME。)
通常没有什么会运行像这样的命令source ~/.bashrc:bash 在启动时已经这样做了。一个可能的解释是 WSL 窗口运行登录 shell。当bash是一个登录shell,这不加载.bashrc,它加载.bash_profile或.profile代替。大多数人解决这个怪癖通过采购.bashrc从.bash_profile。检查你的.bash_profile(或者如果你没有你的.profile,他们可能有错误的source $HOME/.bashrc或者. $HOME/.bashrc不是正确的方法之一(source ~/.bashrc,或者如果你喜欢冗长的source "$HOME/.bashrc",或者这些中的任何一个.而不是source)。
| 归档时间: |
|
| 查看次数: |
1577 次 |
| 最近记录: |