Eu tenho um script python em meu WSL Debian chamado pasman
, que está na bin
pasta do meu diretório inicial, onde mantenho meus scripts personalizados. Tenho uma export
instrução em .bashrc
arquivo para poder executar esses scripts em qualquer lugar do sistema WSL. Também tenho minha bin
pasta configurada em visudo
arquivo para executar scripts quando sudo
necessá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 sudo
recebo:
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 root
e 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 sudo
encontrar o script.
Também não creio que o problema esteja na export
declaração do meu .bashrc
arquivo. Se fosse, quando eu tentasse executá-lo, sudo
obteria algo como sudo: pasman: command not found.
. sudo
encontrei meu pasman
comando mesmo com o export
meu usuário .bashrc
.
Alguém tem alguma ideia de por que isso está acontecendo?