ユーザーのbinディレクトリに次のスクリプトがあります。ファイル名が「myScript」のふりをしましょう:
#!/bin/bash
python3 /myPath/myProgram.py "$@"
コマンドラインからmyScript
と入力すると、myProgram.pyが起動します。 Sudo myScript
と入力すると、次のエラーが表示されます:Sudo: myProgram: command not found
。
なぜこれが機能しないのですか?どうすればそれを機能させることができますか?
ありがとう!
おそらく次のようなスクリプトを実行する必要があります。
Sudo /path/to/myScript
Sudo ./myScript
(スクリプトが現在のディレクトリにある場合)command not found
を取得する理由は、スクリプトが現在のユーザーのPATHディレクトリにないためです。ただし、Sudo
を使用すると、別のユーザー-rootとして実行されます(echo $PATH
とSudo -i
を比較し、次にecho $PATH
を比較してください)。だからあなたはそれをrootユーザーのPATHに追加したい:
/usr/local/bin
、/usr/bin/
、または既にルートのPATHにある別のディレクトリにコピーします