我的 WSL Debian 中有一個名為 的 python 腳本pasman
,它位於我的主目錄資料bin
夾中,我在其中保存自訂腳本。我export
在文件中有一個聲明.bashrc
,以便我可以在 WSL 系統上的任何位置運行此腳本。我還將我的bin
資料夾設置為visudo
文件,以便在sudo
需要時運行腳本。
這個Python腳本有一個shebang:
#!/mnt/c/Users/<MyWindowsUsername>/AppData/Local/Programs/Python/Python38/python.exe
因為我想用 Python for Windows 解釋器來運行它。
問題是我想保留這個腳本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
找到了我的pasman
命令。export
.bashrc
有人知道為什麼會發生這種情況?