Ich habe ein Python-Skript in meinem WSL-Debian namens pasman
, das sich in meinem Home-Verzeichnis befindet bin
, wo ich meine benutzerdefinierten Skripte aufbewahre. Ich habe eine export
Anweisung in .bashrc
der Datei, damit ich diese Skripte überall auf dem WSL-System ausführen kann. Ich habe meinen bin
Ordner auch in der Datei so eingerichtet, visudo
dass Skripte bei sudo
Bedarf ausgeführt werden.
Dieses Python-Skript enthält einen Shebang:
#!/mnt/c/Users/<MyWindowsUsername>/AppData/Local/Programs/Python/Python38/python.exe
weil ich es mit dem Python-Interpreter für Windows ausführen möchte.
Das Problem besteht darin, dass dieses Skript weiterhin im Besitz von bleiben soll root
. Daher muss ich es mit ausführen . sudo
Wenn ich es jedoch mit ausführe, sudo
erhalte ich Folgendes:
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
Wenn das Skript nicht Eigentum von ist root
und ich es ohne ausführe sudo
, läuft es einwandfrei.
Ich glaube also nicht, dass das Problem darin liegt, dass der Windows-Python-Interpreter mein Skript in WSL nicht finden kann, sondern dass er das Skript nur dann nicht finden kann, wenn es mit ausgeführt wird sudo
, andernfalls sudo
wird das Skript gefunden.
Ich glaube auch nicht, dass das Problem an der export
Anweisung in meiner .bashrc
Datei liegt. Wenn das so wäre, würde ich beim Versuch, sie mit auszuführen, sudo
nur etwas wie sudo: pasman: command not found.
. sudo
habe meinen pasman
Befehl auch mit dem export
in meinem Benutzer gefunden .bashrc
.
Hat jemand eine Idee, warum das passiert?