In Linux, you can reset the environment variable PATH to solve the problem that the su command cannot be found; the reason for this problem is that "/bin" is not in the PATH environment variable. Reset the environment variable to "export PATH ="/usr/sbin:/usr/bin:/usr/local/bin:/usr/local/sbin:/bin:/sbin"".
#The operating environment of this tutorial: linux7.3 system, Dell G3 computer.
When we install some software, for the convenience of use, such as jre, etc., we may need to set some environment variables. But be very careful when setting environment variables. Since I am a newbie and not very familiar with setting environment variables, when setting the PATH environment variable, I overwrite the value of the environment variable PATH. In order to prevent this from happening, when setting the corresponding environment variable, the original value should also be added. For example, when setting the value of PATH, you can do this: PATH=$PATH:/***/***/ ***. The PATH after "=" refers to the set value. Of course, the best way is that you do not use the system's environment variables and customize the environment variables that meet your own requirements. Then the problems mentioned above will not occur. For example:
export JAVA_HOME="/usr/local/jre", JAVA_HOME is your own customized environment variable.
So, what should you do when a problem occurs? If this happens, the following situation will occur. For example, if you enter the su command 'su', you can find it at '/bin/su'
Since /bin is not in the PATH environment variable, the command cannot be found.
su: Command not found
No matter what command you enter, the above prompt will appear. Of course, you can still execute the corresponding command at this time, but you must enter the absolute path of the command at this time. For example, if you enter "sudo gedit file name" at this time, an error message will appear, but if you enter "/usr/bin/sudo gedit file name", it will be fine.
Solution: Reset the environment variable PATH, export PATH="/usr/sbin:/usr/bin:/usr/local/bin:/usr/local/sbin:/bin:/ sbin".
Extended knowledge:
Linux su (full spelling in English: switch user) command is used to change the identity of other users, except root, required Type the password for this user.
Usage permissions: all users.
Syntax
su [-fmp] [-c command] [-s shell] [--help] [--version] [-] [USER [ARG]]
Parameter description:
-f or --fast does not need to read the startup file (such as csh.cshrc, etc.), only used for csh or tcsh
-m -p or --preserve-environment does not change the environment variables when executing su
-c command or --command=command changes to the user whose account is USER and executes the command (command) Then change back to the original user
-s shell or --shell=shell specifies the shell to be executed (bash csh tcsh, etc.), the default value is the user (USER) in /etc/passwd shell
--help Display description file
--version Display version information
- -l or --login After adding this parameter, it will be like logging in again. Like this user, most environment variables (HOME SHELL USER, etc.) are based on this user (USER), and the working directory will also change. If USER is not specified, the default is root
USER The user account to be changed
ARG Pass in the new shell parameters
Recommended learning:Linux video tutorial
The above is the detailed content of What should I do if the su command in Linux cannot be found?. For more information, please follow other related articles on the PHP Chinese website!