
重複の可能性あり:
'sudo' で実行する場合の環境変数
パスに新しいフォルダーを追加しましたが、(そのフォルダー内の)プログラムを「sudo」で実行しても機能しません。
入力すると
sudo <command-name>
返される結果:
sudo: <command-name>: command not found
sudo で利用できるようにするにはどうすればいいですか?
答え1
それは奇妙ですね。とにかく私は
sudo /FULL_PATH/program_name
働くでしょう。
もう一つの良いアイデアは、/sbin/ディレクトリにシンボリックリンクを追加することです。
sudo ln -s /FULL_PATH/program_name /sbin
答え2
PATH は、~/.profile、~/.bashrc、または ~/.bash_profile ファイルにあります。このファイルは、あなたのアカウント専用に作成されます。
PATH を設定するときに、おそらく /home/yourname/.profile を編集したのではないでしょうか。Sudo は (おそらくそう思われるでしょうが) /home/yourname/ ではなく /root/.profile の PATH を使用するわけではなく、常に独自の PATH を使用するわけでもありません。
問題は、いくつかの変数が sudo によって上書きされることです。どの変数が上書きされるかはシステムによって異なります。root として、次を実行します。
sudo -V
PATH が使用されているかどうかがわかります。その後、sudo -E オプションを使用して、デフォルトの PATH の使用を上書きできます。/etc/sudoers ファイルに関するマニュアル ページの説明を参照してください。