У меня есть скрипт python в моем WSL Debian, который называется pasman
, который находится в bin
папке моего домашнего каталога, где я храню свои пользовательские скрипты. У меня есть export
оператор в .bashrc
файле, так что я могу запускать эти скрипты в любом месте системы WSL. У меня также есть bin
папка, установленная в visudo
файле, чтобы запускать скрипты по sudo
мере необходимости.
Этот скрипт на Python имеет следующий код:
#!/mnt/c/Users/<MyWindowsUsername>/AppData/Local/Programs/Python/Python38/python.exe
потому что я хочу запустить его с помощью интерпретатора Python для 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
found my pasman
command даже с export
in my user .bashrc
.
Есть ли у кого-нибудь идеи, почему это происходит?