我的 WSL Debian 中有一个名为 的 Python 脚本pasman
,它位于我的主目录文件bin
夹中,我将自定义脚本保存在其中。我export
在文件中有一个语句.bashrc
,以便我可以在 WSL 系统的任何位置运行此脚本。我还在文件bin
中设置了我的文件夹visudo
,以便sudo
在需要时运行脚本。
这个python脚本有一个shebang:
#!/mnt/c/Users/<MyWindowsUsername>/AppData/Local/Programs/Python/Python38/python.exe
因为我想用 Windows 版 Python 解释器运行它。
问题是我想让这个脚本归 拥有root
,所以我需要用 运行它sudo
,但是当我用 运行时,sudo
我得到了:
C:\Users\<MyWindowsUsername>\AppData\Local\Programs\Python\Python38\python.exe: can't open file '/home/<mylinuxusername>/bin/pasman': [Errno 2] No such file or directory
如果该脚本不属于root
并且我在没有的情况下运行它sudo
,它就可以完美运行。
因此,我不认为问题在于 Windows Python 解释器无法在 WSL 中找到我的脚本,而是只有在使用 运行时才找不到该脚本sudo
,而没有sudo
使用 则找不到该脚本。
我也不认为问题出在export
我的.bashrc
文件中的语句中。如果是的话,那么当我尝试使用 运行它时,sudo
我只会得到类似sudo: pasman: command not found.
. sudo
found my pasman
command even with the export
in my user .bashrc
.
有人知道为什么会发生这种情况吗?