でシェル スクリプトを記述した場合、$HOME/path/to/script/myscript
そのスクリプトを正しく実行する必要があるように思えます。export PATH=$PATH:$HOME/path/to/script/
sudo -E myscript
‑E ‑E (環境の保持) オプションは、セキュリティ ポリシーに対して、ユーザーが既存の環境変数を保持することを希望していることを示します。‑E オプションが指定されていて、ユーザーが環境を保持する権限を持っていない場合、セキュリティ ポリシーはエラーを返すことがあります。
しかしsudo -E script
、コマンドが見つかりません。の変数を/absolute/path/to/script/
決定するファイルに追加するだけでよいことはわかっていますが、それは私が取りたいアプローチではありません。PATH
sudo env
コメントに対処するには:
@H2CO3 : ネット上に浮かんでいるのを見たことがsudo sudo
ありますが、それは文字通り「スーパーユーザーを実行するためのスーパーユーザー権限を与えてください」と言っています。問題が解決するかどうかはわかりませんが、根本的に欠陥のあるアプローチのようです。それからまた、90 年代半ばに linux/bsd システムを使い始めたので、sudo
コマンド自体だけに問題があります。
@rici : スクリプトには実行権限がありますが、* nix システムで何かが実行されない場合は常に確認する必要があります =)