当前位置:网站首页>Bashrc and profile
Bashrc and profile
2022-07-07 14:14:00 【sinat_ thirty-six million seven hundred and eighty-nine thousan】
Reading guide : Interactive shell And non interactive shell; login shell and non-login shell
Interactive mode is shell Waiting for your input , And execute the order you submitted . This pattern is called interactive because shell Interact with users . This pattern is also familiar to most users : Sign in 、 Execute some orders 、 Sign off . When you sign back ,shell It's over . shell It can also run in another mode :
Non interactive mode . In this mode ,shell Don't interact with you , Instead, read the commands stored in the file , And execute them . When it reads to the end of the file ,shell It's over .
One 、bashrc And profile Are used to save the user's environment information . Let's go through each of these :
/etc/profile( overall situation , For interactive login shell): This file sets the environment information for each user of the system , When the first user logs in , The document is executed . And from /etc/profile.d Directory of configuration files shell Set up .
When the /etc/profile If there is any modification, you must restart the modification to take effect , This change takes effect for every user .
/etc/pro.d:.d Presentation directory , The directory contains some startup scripts required by the application , It includes color 、 Language 、less、vim And which Some additional settings of the command . The reason why these script files can be executed automatically , Because in /etc/profile Use one for Loop statements to call these scripts . These script files are used to set some variables and run some initialization processes .
# for example :
# The default umask is now handled by pam_umask.
# See pam_umask(8) and /etc/login.defs.
if [ -d /etc/profile.d ]; then # Judge /etc/profile.d Is it a directory
for i in /etc/profile.d/*.sh; do # If it's a directory , Go to this directory , Take out each shell Program
if [ -r $i ]; then # If it's time to shell It can be executed
. $i # Then execute it
fi
done
unset i
fi/etc/bashrc( overall situation , For non interactive non-loginshell): For each run bash shell Of users executing this file . When bash shell When opened , The file is read ( There are some linux In version /etc There is no more bashrc file ).
If you want to use it for all bash Users who modify a configuration and open it later bash You can modify this file if it takes effect , You don't need to restart to modify this file , Reopen a bash Effective .
~/.bash_profile( Interactive 、login Way in bash function ): Each user can use this file to input the shell Information , When the user logs in , The file is only executed once ! By default , He sets some environment variables , Execute the user's .bashrc file .
This file is similar to /etc/profile, It also needs to be restarted to take effect ,/etc/profile Effective for all users ,~/.bash_profile Only valid for the current user .
~/.bashrc( Interactive non-login Way in bash function ): This file contains... For a specific user bash shell Of bash Information , When the user logs in and every time the new shell when , The file is read . Each user has one .bashrc file .
~/.bash_logout: Every time you exit the system ( sign out bash shell) when , Execute the document .
Two 、 similarities and differences :
1、bashrc It will run automatically after the system starts .profile Only after the user logs in .
2、/etc/profile Variable set in etc ( overall situation ) Can work for any user , and ~/.bashrc Variable set in etc ( Local ) Can only inherit /etc/profile The variables in the , They are " Father and son " Relationship .
3、 After setting , It can be used source bashrc The command to update bashrc, You can also use source profile The command to update profile.
3、 ... and 、 Get a... When logging in shell Process time , There are three steps to read the environment profile
1、 The global environment variable profile is read in first /etc/profile, Then read the additional set document according to its content , Such as :/etc/profile.d and /etc/inputrc
2、 Then according to different user accounts , Go to their home directory to read ~/.bash_profile, If this can't be read, read ~/.bash_login, This can't be read before ~/.profile, These three document settings are basically the same , Read has priority
3、 Then read according to the user account ~/.bashrc. as for ~/.profile And ~/.bashrc All of them have the function of personalized customization .
~/.profile You can set the exclusive path of this user , Environmental variables, etc , It can only be executed once when logging in
~/.bashrc It is also a user specific setting document , You can set the path , Command alias , Every time shell script It will be used once for the execution of
边栏推荐
- PERT图(工程网络图)
- Take you to master the three-tier architecture (recommended Collection)
- 最长上升子序列模型 AcWing 482. 合唱队形
- What are the principles for distinguishing the security objectives and implementation methods that cloud computing security expansion requires to focus on?
- 【日常训练】648. 单词替换
- Advanced Mathematics - Chapter 8 differential calculus of multivariate functions 1
- c#通过frame 和 page 切换页面
- Details of redis core data structure & new features of redis 6
- call undefined function openssl_cipher_iv_length
- 搜索引擎接口
猜你喜欢

SAKT方法部分介绍

Battle Atlas: 12 scenarios detailing the requirements for container safety construction

带你掌握三层架构(建议收藏)

【立体匹配论文阅读】【三】INTS
![[fortress machine] what is the difference between cloud fortress machine and ordinary fortress machine?](/img/fb/17e029b1d955965d7e2e0f58701d91.png)
[fortress machine] what is the difference between cloud fortress machine and ordinary fortress machine?

Advanced Mathematics - Chapter 8 differential calculus of multivariate functions 1

Did login metamask

AutoCAD - how to input angle dimensions and CAD diameter symbols greater than 180 degrees?

Vscode configuration uses pylint syntax checker

Leetcode simple question sharing (20)
随机推荐
Cesium knows the longitude and latitude of one point and the distance to find the longitude and latitude of another point
Laravel5 call to undefined function OpenSSL cipher IV length() error php7 failed to open OpenSSL extension
FCOS3D label assignment
Introduction to sakt method
Excerpt from "misogyny: female disgust in Japan"
FCOS3D label assignment
Advanced Mathematics - Chapter 8 differential calculus of multivariate functions 1
SAKT方法部分介绍
bashrc与profile
Data flow diagram, data dictionary
UML 状态图
Assign a dynamic value to the background color of DataGrid through ivalueconverter
Details of redis core data structure & new features of redis 6
"New red flag Cup" desktop application creativity competition 2022
常用数字信号编码之反向不归零码码、曼彻斯特编码、差分曼彻斯特编码
Vmware 与主机之间传输文件
2022-7-6 beginner redis (I) download, install and run redis under Linux
2022-7-6 Leetcode 977. Square of ordered array
Vscode configuration uses pylint syntax checker
What are the principles for distinguishing the security objectives and implementation methods that cloud computing security expansion requires to focus on?