The more time you spend with the terminal, the more you will realize its power and customization capabilities. Adapting the device to the way you work can significantly improve productivity.
Many guides on terminal or shell configuration refer to .bashrc or .bash_profile configuration files. The bash shell reads these files, and they dictate how it works.
In this article we will look at bash startup files and the differences between the above configuration files, so you know where to set your preferences.
Also read : Bash functions explained
When bash is invoked, it reads commands from a given set of startup files and executes them. Which files the shell reads now depends on whether it is an incoming or outgoing shell.
The interactive shell reads and writes to and from the user’s terminal. On the other hand, the non-interactive shell has no connection to the terminal, as when running a script.
These shells can now be either incoming or outgoing. When a shell is called to connect, the user must connect to the terminal, either locally or remotely (via SSH or another method). Alternatively, you can run bash with the -login option.
The interactive shell without login is created by the logical shell. For example when you invoke bash by entering the terminal itself or when you open a new tab in the Gnome terminal.
Also read : How to create bash aliases?
When you invoke the interactive shell to connect, bash looks for the file /etc/profile, and depending on whether or not that file exists, it executes the command specified in the file.
Bash then searches the ~/.bash_profile, ~/.bash_login and ~/.profile files in the same order and executes the commands in these files. However, when bash is invoked from an interactive shell without login, all commands are read and executed from the ~/.bashrc file, if it exists and can be read.
Also read : How can I check in bash if a file or directory exists?
The .bash_profile is read and executed when bash is invoked from the interactive login shell. On the other hand, .bashrc is executed for an interactive shell without login.
With this in mind, you should only use bash_profile for commands that only need to be executed once. This may be a small change in the terminal or the setting of the environment variable $PATH.
All commands that need to be repeated each time a new shell is started are stored in the .bashrc file. This includes aliases, functions, user prompts and history settings.
In general, ~/.bash_profile is the source of the .bashrc file, which means that both files are read and executed every time you open the terminal. However, most Linux distributions use ~/.profile instead of ~/.bash_profile because all shells read the former and bash only reads the latter.
Also read : How are strings concatenated in bash?
The one who writes/cuts/films/owns all the technology, and when he’s not around, switches to virtual machine races. You can contact Yadullah at [email protected], or follow him on Instagram or Twitter.
frequently asked questions
What is the difference between Bashrc and Bash_profile?
that… that… that between them…
What is a .bashrc file?
LDP ‘ abs ‘ html ‘ bashrc example
What is a Bash_profile?
Feedback,what is bashrcbashrc vs bash_profile vs zshrcbashrc vs bash_profile ubuntuwhere is bash_profilebashrc vs bash_profile vs profilebashrc vs zshrc,People also search for,Bash,Z shell,fish,C shell,xterm,GNOME Terminal,See more,alias,htop,Vim,MTR,Ncdu,Aria,bashrc vs bash_profile vs zshrc,what is bashrc,difference between bashrc and bash_profile,where is bash_profile,environment variables bashrc vs bash_profile,bashrc vs bash_profile ubuntu,bashrc vs zshrc,bashrc vs bash_profile vs profile