Three ways to start bash shell
1. As the default login shell when logging in
2. As an interactive shell as a non-login shell
3. As a run Non-interactive shell of script
1. Login shell
When logging in to the Linux system, the bash shell will be started as the login shell, and the login shell will start from 4 different startup files Read the command here, the following is the order in which the bash shell processes these files:
1./etc/profile
2.$HOME/.bash_profile
3.$HOME /.bash_login
4.$HOME/.profile
The /etc/profile file is the main startup file of the system’s default bash shell. Each user on the system will execute this when logging in. startup files, and the other three startup files are user-specific. For example, each user can configure his or her own jdk, tomcat, etc.
1), /etc/profile
The profile file has a complex feature. There is a for statement, which will access each file in the /etc/profile.d directory one by one. It is Linux The system provides a centralized place to store application-specific startup files to be executed when the user logs in. These are basically related to the specific applications of the system. Most applications will create two startup files, one for the bash shell and one for the c shell.
2), the startup file in the $HOME directory
Most Linux distributions only use one of these three startup files; each Individual users can edit these files and add their own environment variables to each bash shell session they start.
.bash_profile file: This file will first check whether there is a startup file called .bashrc in the HOME directory. If there is, the startup file will first execute the commands in the .bashrc file, and then A directory is added to the PATH environment variable.
2. Interactive shell
If the bash shell is not started when logging in to the system, for example Enter the bash command at the command line prompt to start. The shell started is called an interactive shell. In this case, the /etc/profile file will not be started, but the bashrc will be checked in the user's HOME directory to see whether it exists. This file has two functions:
1. View the shared bashrc file in the /etc directory
2. Provide users with a place to customize their own command aliases and private script functions.
The common /etc/bashrc startup file will be executed by every user on the system who starts an interactive shell session
Three , Non-interactive shell
This is the shell that the system uses when executing shell scripts. In this case there is no need to worry that it does not have a command line prompt, but you still have to run a specific startup command every time you run the script on the system. To handle this situation, the bash shell provides the BASE_ENV environment variable. When the shell starts a When the shell process is non-interactive, it will check this environment variable to see the startup file to be executed. If specified, the shell will execute the commands in the file.
The above is the detailed content of What are the ways to start bash shell?. For more information, please follow other related articles on the PHP Chinese website!