
私はOpenSUSE 12.3を実行しており(11からこの動作を確認しました)、フルパスを使用しないとスーパーユーザープログラム(終了、再起動など)を呼び出すことができないことがわかりました。私はそこに多くの実行可能ファイルがあるので/sbin
。幸いなことに、sudo reboot
sudo /sbin/reboot
SudoOpenSUSEシェル(強く打つ)キーを押すとこのパスが拡張されるため、結果Tab
は。sudo rebo[Tab]
sudo /sbin/reboot
OpenSUSEは以下を提供します。バッシュ完了オートコンプリート機能を拡張します。強く打つさまざまなその他のコンテキストを含めます(例:設定)。残念ながら、デフォルトでは、このパッケージはスーパーユーザーの実行可能ファイルをフルパスに拡張せず、実行可能ファイル名のみを拡張するため、sudo rebo[Tab]
エラーがsudo reboot
発生しますsudo: reboot: command not found
。
インストール/実行方法バッシュ完了また、スーパーユーザー実行可能ファイルのオートコンプリートがフルパスに拡張されていることを確認しますか?
答え1
PATH varに/ sbinを追加しないのはなぜですか? :
export PATH=$PATH:/sbin
答え2
拡大する@ギルス答えに対するコメント:
この質問は尋ねますバッシュ完了実行可能ファイルを/sbin
タブのフルパスに拡張しましたが、スーパーユーザーディレクトリ(たとえば/sbin
、/usr/sbin
など)を追加しました。Sudo検索パス。
これを行うには、次の行に似たsecure_path
変数をSudoersファイルに追加する必要がありました(editを使用)。visudo
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
誰かが実際にこれらの実行可能ファイルへのパスを拡張するソリューションを提供した場合、私はそれが質問に対する実際の答えだと思いますが、このソリューションも私の要件を満たしています。