![为什么在 WSL 中更改我的主目录会破坏我的 PATH,但仅在 tmux 的第二个窗口中?](https://linux22.com/image/161168/%E4%B8%BA%E4%BB%80%E4%B9%88%E5%9C%A8%20WSL%20%E4%B8%AD%E6%9B%B4%E6%94%B9%E6%88%91%E7%9A%84%E4%B8%BB%E7%9B%AE%E5%BD%95%E4%BC%9A%E7%A0%B4%E5%9D%8F%E6%88%91%E7%9A%84%20PATH%EF%BC%8C%E4%BD%86%E4%BB%85%E5%9C%A8%20tmux%20%E7%9A%84%E7%AC%AC%E4%BA%8C%E4%B8%AA%E7%AA%97%E5%8F%A3%E4%B8%AD%EF%BC%9F.png)
不久前,我发现有必要将我的主目录设置为One Drive
WSL 中的我的主目录。谢谢这个帖子我什至能够让我的权限在 WSL (Ubuntu 16.04 LTS) 中正常工作。
但是,当我使用打开的tmux
第二个/bin/sh
伪终端时,会出现有关路径的错误...但不是第一个打开的伪终端...
第二个(以及之后打开的所有后续)给出以下错误:
-sh: 6: export: Files/WindowsApps/CanonicalGroupLimited.Ubuntu16.04onWindows_1604.2019.523.0_x64__79rhkp1fndgsc:/mnt/c/Program: bad variable name
最后的那部分显然是我的$PATH
变量的一部分,因为/bin/bash
它没有被设置...(79rhkp1fndgsc:/mnt/c/Program
),我也说不出来,但它几乎看起来像这部分可能试图引用c:/
...(c:/mnt/c/Program
)
在/bin/sh
伪终端echo $HOME
报告中,/home/<username>
以简单的方式报告我的 OneDrive 的路径/bin/bash
echo $HOME
/c/mnt/Users/<username>/OneDrive - <company-name>
我~/.bash_profile
尝试注释掉对的调用source ~/.bashrc
,但打开新的 WSL 窗口后上述问题仍然存在。
/bin/sh
我相信这与我正在使用而不是/bin/bash
在我的会话中有关tmux
,但总的来说我不知道/bin/sh
启动时调用什么;然而它的处理方式似乎与 不同/bin/bash
。
另请注意,我一直无法找到一个/etc/tmux.conf
并且我没有~/.tmux.conf
任何地方的覆盖文件,所以我假设默认值。
我是tmux
在修复权限或更改主目录之前安装的,所以我不知道这是否会在这里发挥作用。
我的 OneDrive 文件夹的根目录中.bashrc
确实有,但两者的变量设置都被注释掉了。/home/<username>
PATH