私の WSL Debian には、カスタム スクリプトを保存しているpasman
ホーム ディレクトリ フォルダーにあるという Python スクリプトがあります。ファイルにステートメントがあるので、このスクリプトを WSL システム上のどこでも実行できます。また、必要に応じてスクリプトを実行するために、ファイルにフォルダーを設定しています。bin
export
.bashrc
bin
visudo
sudo
この Python スクリプトにはシェバンがあります:
#!/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
、スクリプトは完璧に実行されます。
sudo
したがって、問題は Windows Python インタープリターが WSL でスクリプトを見つけられないということではなく、 で実行された場合にのみスクリプトを見つけられ、 なしではsudo
スクリプトを見つけられないということだと思います。
export
また、問題はファイル内のステートメントにあるとは思いません.bashrc
。もしそうなら、 で実行しようとすると、sudo
のようなものが表示されますsudo: pasman: command not found.
。ユーザー にがあっても、コマンドがsudo
見つかりません。pasman
export
.bashrc
なぜこのようなことが起こるのか、誰か分かるでしょうか?