Linux では、環境変数 PATH をリセットすると、su コマンドが見つからない問題を解決できます。この問題の原因は、PATH 環境変数に「/bin」が含まれていないためです。変数を「export PATH ="/usr/sbin:/usr/bin:/usr/local/bin:/usr/local/sbin:/bin:/sbin"」に設定します。
#このチュートリアルの動作環境: linux7.3 システム、Dell G3 コンピューター。
jre などのソフトウェアをインストールするとき、使いやすさを考慮して、いくつかの環境変数を設定する必要がある場合があります。 。ただし、環境変数を設定するときは十分に注意してください。初心者で環境変数の設定にあまり慣れていないため、PATH環境変数を設定する際に、環境変数PATHの値を上書きしてしまいます。これを防ぐには、対応する環境変数を設定するときに、元の値も追加する必要があります。たとえば、PATH の値を設定する場合は、次のようにすることができます: PATH=$PATH:/***/** */***。 「=」以降のPATHは設定値を指します。もちろん、システムの環境変数を使用せず、独自の要件を満たすように環境変数をカスタマイズすることが最善の方法であり、そうすれば上記の問題は発生しません。例:
export JAVA_HOME="/usr/local/jre"。JAVA_HOME は独自にカスタマイズされた環境変数です。
それでは、問題が発生した場合はどうすればよいでしょうか?この場合、例えば su コマンド「su」を入力すると、「/bin/su」にあります。
/bin が存在しないため、 PATH 環境変数、コマンドが見つかりません。
su: コマンドが見つかりません
どのコマンドを入力しても、上記のプロンプトが表示されます。もちろん、この時点でも対応するコマンドを実行できますが、この時点ではコマンドの絶対パスを入力する必要があります。例えばこの時に「sudo gedit ファイル名」と入力するとエラーメッセージが表示されますが、「/usr/bin/sudo gedit ファイル名」と入力すれば大丈夫です。
解決策: 環境変数 PATH をリセットし、PATH="/usr/sbin:/usr/bin:/usr/local/bin:/usr/local/sbin:/bin:/ sbin をエクスポートします。 」。
拡張知識:
Linux su (英語のフルスペル: switch user) コマンドは、root を除く他のユーザーの ID を変更するために使用されます (必須)このユーザーのパスワードを入力します。
使用権限: すべてのユーザー。
構文
su [-fmp] [-c command] [-s shell] [--help] [--version] [-] [USER [ARG]]
パラメータの説明:
-f または --fast は起動ファイル (csh.cshrc など) を読み取る必要はなく、使用されるだけです。 csh または tcsh## の場合
#-m -p または --preserve-environment は、アカウントのユーザーに対して su -c コマンドまたは --command=command を実行するときに環境変数を変更しません。 USER で、コマンド (command) を実行します。その後、元の user に戻ります。-s シェルまたは --shell=shell は、実行するシェル (bash csh tcsh など) を指定します。デフォルト値は次のとおりです。 /etc/passwd シェルのユーザー (USER)#--help 説明ファイルを表示
##--version バージョン情報を表示##- -l または --login 追加後このパラメータを指定すると、再度ログインしたようになります。このユーザーと同様に、ほとんどの環境変数 (HOME SHELL USER など) はこのユーザー (USER) に基づいており、作業ディレクトリも変更されます。USER が指定されていない場合、デフォルトは root です
USER 変更するユーザー アカウント
ARG 新しいシェル パラメータを渡します
推奨される学習:
Linux ビデオ チュートリアル以上がLinux で su コマンドが見つからない場合はどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。