Tentando executar um script Python como sudo com o interpretador do Windows dentro do WSL, mas obtive “arquivo não encontrado”

Tentando executar um script Python como sudo com o interpretador do Windows dentro do WSL, mas obtive “arquivo não encontrado”

Eu tenho um script python em meu WSL Debian chamado pasman, que está na binpasta do meu diretório inicial, onde mantenho meus scripts personalizados. Tenho uma exportinstrução em .bashrcarquivo para poder executar esses scripts em qualquer lugar do sistema WSL. Também tenho minha binpasta configurada em visudoarquivo para executar scripts quando sudonecessário.

Este script python tem um shebang:

#!/mnt/c/Users/<MyWindowsUsername>/AppData/Local/Programs/Python/Python38/python.exe

porque quero executá-lo com o interpretador Python para Windows.

O problema é que quero manter esse script de propriedade de root, então preciso executá-lo com sudo, mas quando executo com sudorecebo:

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

Se o script não pertence a roote eu o executo sem sudo, ele funciona perfeitamente.

Então, não acho que o problema seja que o interpretador Python do Windows não consegue encontrar meu script no WSL, mas não consegue encontrar o script apenas quando é executado com sudo, sem sudoencontrar o script.

Também não creio que o problema esteja na exportdeclaração do meu .bashrcarquivo. Se fosse, quando eu tentasse executá-lo, sudoobteria algo como sudo: pasman: command not found.. sudoencontrei meu pasmancomando mesmo com o exportmeu usuário .bashrc.

Alguém tem alguma ideia de por que isso está acontecendo?

informação relacionada